
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int __regparm3
fts3InitVtab(int isCreate,sqlite3 *db,void *pAux,int argc,char **argv,sqlite3_vtab **ppVTab,
            char **pzErr)

{
  char **ppcVar1;
  int iVar2;
  char cVar3;
  char cVar4;
  sqlite3 *db_00;
  byte bVar5;
  byte bVar6;
  size_t sVar7;
  size_t sVar8;
  size_t sVar9;
  int iVar10;
  Fts3Index *pFVar11;
  undefined4 *puVar12;
  uint uVar13;
  sqlite3_stmt **p;
  byte *pbVar14;
  byte *pbVar15;
  byte *pbVar16;
  int iVar17;
  int *piVar18;
  int iVar19;
  char *pcVar20;
  char *pcVar21;
  int *piVar22;
  int iVar23;
  undefined4 *puVar24;
  int in_GS_OFFSET;
  bool bVar25;
  bool bVar26;
  sqlite3_stmt **ppsVar27;
  Fts3Table *local_dc;
  char *local_d0;
  undefined4 *local_cc;
  char *local_c8;
  int *local_c0;
  undefined4 *local_bc;
  int local_b8;
  char *local_b4;
  int local_b0;
  byte *local_ac;
  byte *local_a8;
  byte *local_a4;
  byte *local_a0;
  byte *local_9c;
  int local_80;
  int rc;
  sqlite3_tokenizer *pTokenizer;
  int n;
  Fts4Option aFts4Opt [8];
  
  iVar2 = *(int *)(in_GS_OFFSET + 0x14);
  rc = 0;
  cVar3 = (*argv)[3];
  pTokenizer = (sqlite3_tokenizer *)0x0;
  sVar7 = strlen(argv[1]);
  sVar8 = strlen(argv[2]);
  uVar13 = argc * 4 - 8;
  local_cc = (undefined4 *)sqlite3_malloc64((ulonglong)uVar13);
  if (local_cc != (undefined4 *)0x0) {
    memset(local_cc,0,uVar13);
    local_c0 = (int *)sqlite3_malloc64((ulonglong)uVar13);
    if (local_c0 != (int *)0x0) {
      memset(local_c0,0,uVar13);
      if ((rc == 0) && (3 < argc)) {
        iVar17 = 0;
        local_d0 = (char *)0x0;
        iVar19 = 3;
        local_b0 = 0;
        local_9c = (byte *)0x0;
        local_ac = (byte *)0x0;
        local_a0 = (byte *)0x0;
        local_a4 = (byte *)0x0;
        local_a8 = (byte *)0x0;
        bVar26 = false;
        bVar5 = 0;
LAB_000cfa14:
        pcVar21 = argv[iVar19];
        iVar19 = iVar19 + 1;
        if ((((pTokenizer == (sqlite3_tokenizer *)0x0) && (sVar9 = strlen(pcVar21), 8 < sVar9)) &&
            (iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8), iVar10 == 0)) &&
           ((-1 < pcVar21[8] && (isFtsIdChar_41700[pcVar21[8]] == '\0')))) {
          rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,pcVar21 + 9,&pTokenizer,pzErr);
          goto LAB_000cfa0c;
        }
        if (cVar3 == '4') {
          cVar4 = *pcVar21;
          pcVar20 = pcVar21;
          if (cVar4 == '=') {
            local_b4 = (char *)0x0;
          }
          else {
            do {
              if (cVar4 == '\0') goto LAB_000cf9db;
              pcVar20 = pcVar20 + 1;
              cVar4 = *pcVar20;
            } while (cVar4 != '=');
            local_b4 = (char *)((int)pcVar20 - (int)pcVar21);
          }
          pbVar15 = (byte *)sqlite3_mprintf("%s",pcVar20 + 1);
          if (pbVar15 != (byte *)0x0) {
            sqlite3Fts3Dequote((char *)pbVar15);
          }
          aFts4Opt[0].nOpt = 9;
          aFts4Opt[1].nOpt = 6;
          aFts4Opt[0].zOpt = "matchinfo";
          aFts4Opt[1].zOpt = "prefix";
          aFts4Opt[2].zOpt = "compress";
          aFts4Opt[3].zOpt = "uncompress";
          aFts4Opt[4].zOpt = "order";
          aFts4Opt[5].zOpt = "content";
          aFts4Opt[6].zOpt = "languageid";
          aFts4Opt[2].nOpt = 8;
          aFts4Opt[3].nOpt = 10;
          aFts4Opt[4].nOpt = 5;
          aFts4Opt[5].nOpt = 7;
          aFts4Opt[6].nOpt = 10;
          aFts4Opt[7].zOpt = "notindexed";
          aFts4Opt[7].nOpt = 10;
          if (pbVar15 != (byte *)0x0) {
            iVar10 = 9;
            iVar23 = 0;
            do {
              pbVar16 = pbVar15;
              if ((local_b4 == (char *)iVar10) &&
                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),
                 iVar10 == 0)) {
                switch(iVar23) {
                default:
                  sVar9 = strlen((char *)pbVar15);
                  if ((sVar9 == 4) &&
                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {
                    bVar5 = 1;
                  }
                  else {
                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);
                    rc = 1;
                    bVar5 = 1;
                  }
                  break;
                case 1:
                  sqlite3_free(local_a8);
                  pbVar16 = (byte *)0x0;
                  local_a8 = pbVar15;
                  break;
                case 2:
                  sqlite3_free(local_a4);
                  pbVar16 = (byte *)0x0;
                  local_a4 = pbVar15;
                  break;
                case 3:
                  sqlite3_free(local_a0);
                  pbVar16 = (byte *)0x0;
                  local_a0 = pbVar15;
                  break;
                case 4:
                  sVar9 = strlen((char *)pbVar15);
                  if (sVar9 == 3) {
                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);
                    if (iVar10 != 0) {
                      sVar9 = strlen((char *)pbVar15);
                      goto LAB_000d0c76;
                    }
                  }
                  else {
LAB_000d0c76:
                    if ((sVar9 != 4) ||
                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {
                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);
                      rc = 1;
                    }
                  }
                  bVar26 = (*pbVar15 & 0xdf) == 0x44;
                  break;
                case 5:
                  sqlite3_free(local_ac);
                  pbVar16 = (byte *)0x0;
                  local_ac = pbVar15;
                  break;
                case 6:
                  sqlite3_free(local_9c);
                  pbVar16 = (byte *)0x0;
                  local_9c = pbVar15;
                  break;
                case 7:
                  local_c0[local_b0] = (int)pbVar15;
                  local_b0 = local_b0 + 1;
                  pbVar16 = (byte *)0x0;
                }
                goto LAB_000d06b8;
              }
              iVar23 = iVar23 + 1;
              if (iVar23 == 8) goto LAB_000d0688;
              iVar10 = aFts4Opt[iVar23].nOpt;
            } while( true );
          }
          rc = 7;
          bVar25 = false;
          goto LAB_000cfd03;
        }
LAB_000cf9db:
        sVar9 = strlen(pcVar21);
        local_d0 = (char *)((int)local_d0 + 1U + sVar9);
        local_cc[iVar17] = pcVar21;
        iVar17 = iVar17 + 1;
        goto LAB_000cfa0c;
      }
      bVar5 = 0;
      iVar17 = 0;
      local_a8 = (byte *)0x0;
      local_ac = (byte *)0x0;
      local_9c = (byte *)0x0;
      local_b0 = 0;
      bVar26 = false;
      local_d0 = (char *)0x0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
      goto LAB_000d0578;
    }
  }
  rc = 7;
  local_c0 = (int *)0x0;
  local_bc = (undefined4 *)0x0;
  local_b0 = 0;
  local_9c = (byte *)0x0;
  local_ac = (byte *)0x0;
  local_a0 = (byte *)0x0;
  local_a4 = (byte *)0x0;
  local_a8 = (byte *)0x0;
  local_dc = (Fts3Table *)0x0;
  goto LAB_000cfaef;
LAB_000d0688:
  sqlite3Fts3ErrMsg(pzErr,"unrecognized parameter: %s",pcVar21);
  rc = 1;
LAB_000d06b8:
  sqlite3_free(pbVar16);
LAB_000cfa0c:
  bVar25 = rc == 0;
  if (argc <= iVar19 || !bVar25) goto LAB_000cfd03;
  goto LAB_000cfa14;
LAB_000d08d0:
  iVar19 = iVar19 + 1;
  if (iVar19 == iVar17) goto LAB_000cfd38;
  goto LAB_000d08db;
LAB_000cfd03:
  if ((local_ac == (byte *)0x0) || (!bVar25)) {
LAB_000d0578:
    if (rc != 0) {
      local_bc = (undefined4 *)0x0;
      local_dc = (Fts3Table *)0x0;
      goto LAB_000cfaef;
    }
    goto LAB_000d0580;
  }
  sqlite3_free(local_a4);
  sqlite3_free(local_a0);
  if (iVar17 == 0) {
    sqlite3_free(local_cc);
    n = 0;
    pcVar21 = sqlite3_mprintf("SELECT * FROM %Q.%Q",argv[1],local_ac);
    if (pcVar21 == (char *)0x0) {
      sqlite3_free((void *)0x0);
      rc = 7;
      local_bc = (undefined4 *)0x0;
      local_cc = (undefined4 *)0x0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
      local_dc = (Fts3Table *)0x0;
      goto LAB_000cfaef;
    }
    iVar17 = sqlite3_prepare(db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0);
    if (iVar17 != 0) {
      pcVar20 = sqlite3_errmsg(db);
      sqlite3Fts3ErrMsg(pzErr,"%s",pcVar20);
      sqlite3_free(pcVar21);
      rc = iVar17;
LAB_000d0e57:
      local_bc = (undefined4 *)0x0;
      local_cc = (undefined4 *)0x0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
      local_dc = (Fts3Table *)0x0;
      goto LAB_000cfaef;
    }
    sqlite3_free(pcVar21);
    iVar17 = sqlite3_column_count((sqlite3_stmt *)n);
    if (iVar17 < 1) {
      local_cc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)(iVar17 * 4));
      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;
      sqlite3_finalize((sqlite3_stmt *)n);
      rc = 0;
      local_d0 = (char *)0x0;
      if (local_9c == (byte *)0x0) goto LAB_000d1169;
      local_d0 = (char *)0x0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
    }
    else {
      iVar19 = 0;
      local_d0 = (char *)0x0;
      iVar10 = 0;
      do {
        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar10);
        sVar9 = strlen(pcVar21);
        bVar25 = CARRY4((uint)local_d0,sVar9 + 1);
        local_d0 = (char *)((int)local_d0 + sVar9 + 1);
        iVar19 = iVar19 + (uint)bVar25;
        iVar10 = iVar10 + 1;
      } while (iVar17 != iVar10);
      local_cc = (undefined4 *)
                 sqlite3_malloc64(CONCAT44(iVar19 + (uint)CARRY4(iVar17 * 4,(uint)local_d0),
                                           iVar17 * 4 + (int)local_d0));
      if (local_cc == (undefined4 *)0x0) {
LAB_000d1187:
        sqlite3_finalize((sqlite3_stmt *)n);
        rc = 7;
        goto LAB_000d0e57;
      }
      iVar19 = 0;
      puVar24 = local_cc + iVar17;
      do {
        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar19);
        sVar9 = strlen(pcVar21);
        memcpy(puVar24,pcVar21,sVar9 + 1);
        local_cc[iVar19] = puVar24;
        puVar24 = (undefined4 *)((int)puVar24 + sVar9 + 1);
        iVar19 = iVar19 + 1;
      } while (iVar17 != iVar19);
      sqlite3_finalize((sqlite3_stmt *)n);
      rc = 0;
      if (local_9c != (byte *)0x0) {
        iVar19 = 0;
LAB_000d08db:
        iVar10 = sqlite3_stricmp((char *)local_9c,(char *)local_cc[iVar19]);
        if (iVar10 != 0) goto LAB_000d08d0;
        puVar24 = local_cc + iVar19;
        if (iVar19 < iVar17) {
          do {
            puVar12 = puVar24 + 1;
            *puVar24 = puVar24[1];
            puVar24 = puVar12;
          } while (local_cc + iVar17 != puVar12);
        }
        iVar17 = iVar17 + -1;
        local_a0 = (byte *)0x0;
        local_a4 = (byte *)0x0;
        goto LAB_000d0578;
      }
LAB_000d1169:
      rc = 0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
    }
LAB_000d0580:
    if (iVar17 == 0) {
      iVar17 = 1;
      local_d0 = (char *)0x8;
      *local_cc = "content";
    }
  }
  else {
LAB_000cfd38:
    if (rc != 0) {
      local_bc = (undefined4 *)0x0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
LAB_000d0985:
      local_dc = (Fts3Table *)0x0;
      goto LAB_000cfaef;
    }
    local_a0 = (byte *)0x0;
    local_a4 = (byte *)0x0;
    rc = 0;
  }
  if (pTokenizer == (sqlite3_tokenizer *)0x0) {
    rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,"simple",&pTokenizer,pzErr);
    local_bc = (undefined4 *)0x0;
    if (rc != 0) {
      local_dc = (Fts3Table *)0x0;
      goto LAB_000cfaef;
    }
  }
  if (local_a8 == (byte *)0x0) {
    local_bc = (undefined4 *)sqlite3_malloc64(0x18);
    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;
    *local_bc = 0;
    local_bc[5] = 0;
    uVar13 = 0;
    do {
      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;
      uVar13 = uVar13 + 4;
    } while (uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));
    rc = 0;
    iVar19 = 6;
    local_80 = 1;
    local_b4 = (char *)0x1;
  }
  else {
    bVar6 = *local_a8;
    if (bVar6 == 0) {
      local_bc = (undefined4 *)sqlite3_malloc64(0x18);
      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;
      *local_bc = 0;
      local_bc[5] = 0;
      uVar13 = 0;
      do {
        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;
        uVar13 = uVar13 + 4;
      } while (uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))
      ;
      iVar19 = 6;
      local_80 = 1;
    }
    else {
      local_b4 = (char *)0x2;
      pbVar15 = local_a8;
      do {
        pbVar15 = pbVar15 + 1;
        local_b4 = (char *)((int)local_b4 + (uint)(bVar6 == 0x2c));
        bVar6 = *pbVar15;
      } while (bVar6 != 0);
      local_bc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)((int)local_b4 * 0x18));
      if (local_bc == (undefined4 *)0x0) {
LAB_000d06fb:
        rc = 7;
        local_bc = (undefined4 *)0x0;
        local_dc = (Fts3Table *)0x0;
        goto LAB_000cfaef;
      }
      memset(local_bc,0,(int)local_b4 * 0x18);
      local_b8 = 1;
      pbVar15 = local_a8;
      do {
        if (9 < (byte)(*pbVar15 - 0x30)) {
LAB_000d094c:
          rc = 1;
          sqlite3Fts3ErrMsg(pzErr,"error parsing prefix parameter: %s",local_a8);
          local_b4 = (char *)rc;
          if (rc != 0) goto LAB_000d0985;
          local_80 = 0;
          iVar19 = 0;
          goto LAB_000cfe77;
        }
        iVar19 = (char)*pbVar15 + -0x30;
        pbVar16 = pbVar15;
        do {
          pbVar14 = pbVar16;
          pbVar16 = pbVar14 + 1;
          if (9 < (byte)(pbVar14[1] - 0x30)) {
            if (pbVar16 == pbVar15) goto LAB_000d094c;
            if (iVar19 == 0) goto LAB_000d0938;
            local_bc[local_b8 * 6] = iVar19;
            local_b8 = local_b8 + 1;
            goto LAB_000cfe51;
          }
          iVar19 = (char)pbVar14[1] + -0x30 + iVar19 * 10;
        } while (iVar19 < 0x989681);
        if (pbVar16 == pbVar15) goto LAB_000d094c;
LAB_000d0938:
        local_b4 = (char *)((int)local_b4 + -1);
LAB_000cfe51:
        pbVar15 = pbVar14 + 2;
      } while (local_b8 < (int)local_b4);
      local_80 = (int)local_b4;
      iVar19 = (int)local_b4 * 6;
    }
    rc = 0;
    local_b4 = (char *)local_80;
  }
LAB_000cfe77:
  sVar7 = sVar7 + 1;
  sVar8 = sVar8 + 1;
  uVar13 = sVar8 + sVar7 + iVar17 * 5 + (int)local_d0 + iVar19 * 4 + 0x11c;
  local_dc = (Fts3Table *)sqlite3_malloc64((ulonglong)uVar13);
  if (local_dc == (Fts3Table *)0x0) {
    rc = 7;
    goto LAB_000cfaef;
  }
  bVar25 = cVar3 == '4';
  memset(local_dc,0,uVar13);
  local_dc->nColumn = iVar17;
  local_dc->nAutoincrmerge = 0xff;
  local_dc->pTokenizer = pTokenizer;
  local_dc->db = db;
  local_dc->azColumn = (char **)(local_dc + 1);
  local_dc->bHasStat = bVar25;
  local_dc->bFts4 = bVar25;
  local_dc->bHasDocsize = (bVar5 ^ 1) & bVar25;
  local_dc->bDescIdx = bVar26;
  local_dc->nPendingData = 0;
  local_dc->nMaxPendingData = 0x100000;
  local_dc->zContentTbl = (char *)local_ac;
  local_dc->zLanguageid = (char *)local_9c;
  pFVar11 = (Fts3Index *)(local_dc[1].aStmt + iVar17 + -0xe);
  local_dc->aIndex = pFVar11;
  memcpy(pFVar11,local_bc,local_80 * 0x18);
  iVar19 = 0;
  local_dc->nIndex = (int)local_b4;
  if (local_b4 != (char *)0x0) {
    do {
      pFVar11 = local_dc->aIndex;
      iVar10 = iVar19 + 1;
      pFVar11[iVar19].hPending.keyClass = '\x01';
      pFVar11[iVar19].hPending.copyKey = '\x01';
      pFVar11[iVar19].hPending.first = (Fts3HashElem *)0x0;
      pFVar11[iVar19].hPending.count = 0;
      pFVar11[iVar19].hPending.htsize = 0;
      pFVar11[iVar19].hPending.ht = (_fts3ht *)0x0;
      iVar19 = iVar10;
    } while (local_b4 != (char *)iVar10);
  }
  local_dc->abNotindexed = (u8 *)(local_dc->aIndex + local_80);
  pcVar21 = (char *)((int)&local_dc->aIndex[local_80].nPrefix + iVar17);
  local_dc->zName = pcVar21;
  pcVar20 = pcVar21 + sVar8;
  memcpy(pcVar21,argv[2],sVar8);
  local_dc->zDb = pcVar20;
  pcVar21 = pcVar20 + sVar7;
  iVar19 = 0;
  memcpy(pcVar20,argv[1],sVar7);
  if (0 < iVar17) {
    do {
      n = 0;
      pcVar20 = sqlite3Fts3NextToken(*(char **)((int)local_cc + iVar19),&n);
      if (0 < n) {
        memcpy(pcVar21,pcVar20,n);
      }
      pcVar21[n] = '\0';
      sqlite3Fts3Dequote(pcVar21);
      *(char **)((int)local_dc->azColumn + iVar19) = pcVar21;
      iVar19 = iVar19 + 4;
      pcVar21 = pcVar21 + n + 1;
    } while (iVar17 * 4 != iVar19);
    local_c8 = (char *)0x0;
    do {
      sVar7 = strlen(local_dc->azColumn[(int)local_c8]);
      piVar18 = local_c0;
      if (local_b0 != 0) {
        do {
          while (((pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&
                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)) &&
                 (iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),
                 iVar19 == 0))) {
            piVar22 = piVar18 + 1;
            local_dc->abNotindexed[(int)local_c8] = '\x01';
            sqlite3_free(pcVar21);
            *piVar18 = 0;
            piVar18 = piVar22;
            if (local_c0 + local_b0 == piVar22) goto LAB_000d0168;
          }
          piVar18 = piVar18 + 1;
        } while (local_c0 + local_b0 != piVar18);
      }
LAB_000d0168:
      local_c8 = (char *)((int)local_c8 + 1);
    } while (local_c8 != (char *)iVar17);
  }
  piVar18 = local_c0;
  if (local_b0 != 0) {
    do {
      if (*piVar18 != 0) {
        sqlite3Fts3ErrMsg(pzErr,"no such column: %s",*piVar18);
        rc = 1;
      }
      piVar18 = piVar18 + 1;
    } while (local_c0 + local_b0 != piVar18);
  }
  if ((rc == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {
    rc = 1;
    pcVar21 = "uncompress";
    if (local_a4 == (byte *)0x0) {
      pcVar21 = "compress";
    }
    sqlite3Fts3ErrMsg(pzErr,"missing %s parameter in fts4 constructor",pcVar21);
  }
  n = 0;
  if (local_dc->zContentTbl == (char *)0x0) {
    if (local_a0 == (byte *)0x0) {
      local_d0 = "";
      local_b4 = (char *)0x0;
    }
    else {
      local_d0 = fts3QuoteId((char *)local_a0);
      local_b4 = local_d0;
    }
    iVar17 = 0;
    fts3Appendf(&rc,(char **)&n,"docid");
    if (0 < local_dc->nColumn) {
      do {
        iVar19 = iVar17 + 1;
        fts3Appendf(&rc,(char **)&n,",%s(x.\'c%d%q\')",local_d0,iVar17,local_dc->azColumn[iVar17]);
        iVar17 = iVar19;
      } while (iVar19 < local_dc->nColumn);
    }
    if (local_dc->zLanguageid != (char *)0x0) {
      fts3Appendf(&rc,(char **)&n,", x.%Q","langid");
    }
    sqlite3_free(local_b4);
  }
  else {
    fts3Appendf(&rc,(char **)&n,"rowid");
    if (0 < local_dc->nColumn) {
      iVar17 = 0;
      do {
        ppcVar1 = local_dc->azColumn + iVar17;
        iVar17 = iVar17 + 1;
        fts3Appendf(&rc,(char **)&n,", x.\'%q\'",*ppcVar1);
      } while (iVar17 < local_dc->nColumn);
    }
    if (local_dc->zLanguageid != (char *)0x0) {
      fts3Appendf(&rc,(char **)&n,", x.%Q",local_dc->zLanguageid);
    }
  }
  pcVar21 = local_dc->zContentTbl;
  if (pcVar21 == (char *)0x0) {
    pcVar20 = "_content";
    pcVar21 = local_dc->zName;
  }
  else {
    pcVar20 = "";
  }
  fts3Appendf(&rc,(char **)&n," FROM \'%q\'.\'%q%s\' AS x",local_dc->zDb,pcVar21,pcVar20);
  local_dc->zReadExprlist = (char *)n;
  n = 0;
  if (local_a4 == (byte *)0x0) {
    local_c8 = (char *)0x0;
    pcVar21 = "";
  }
  else {
    pcVar21 = fts3QuoteId((char *)local_a4);
    local_c8 = pcVar21;
  }
  iVar17 = 0;
  ppsVar27 = (sqlite3_stmt **)&n;
  fts3Appendf(&rc,(char **)&n,"?");
  if (0 < local_dc->nColumn) {
    do {
      iVar17 = iVar17 + 1;
      ppsVar27 = (sqlite3_stmt **)&n;
      fts3Appendf(&rc,(char **)&n,",%s(?)",pcVar21);
    } while (iVar17 < local_dc->nColumn);
  }
  if (local_dc->zLanguageid != (char *)0x0) {
    ppsVar27 = (sqlite3_stmt **)&n;
    fts3Appendf(&rc,(char **)&n,", ?");
  }
  sqlite3_free(local_c8);
  local_dc->zWriteExprlist = (char *)n;
  if (rc == 0) {
    if (isCreate == 0) {
      if (cVar3 != '4') {
        local_dc->bHasStat = '\x02';
      }
    }
    else {
      n = 0;
      db_00 = local_dc->db;
      if (local_dc->zContentTbl == (char *)0x0) {
        pcVar21 = local_dc->zLanguageid;
        p = (sqlite3_stmt **)sqlite3_mprintf("docid INTEGER PRIMARY KEY");
        if (p == (sqlite3_stmt **)0x0) {
LAB_000d0ffd:
          n = 7;
          p = (sqlite3_stmt **)0x0;
        }
        else {
          if (0 < local_dc->nColumn) {
            iVar17 = 0;
            do {
              iVar19 = iVar17 + 1;
              p = (sqlite3_stmt **)
                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);
              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;
              iVar17 = iVar19;
            } while (iVar19 < local_dc->nColumn);
          }
          if ((pcVar21 != (char *)0x0) &&
             (p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),
             p == (sqlite3_stmt **)0x0)) goto LAB_000d0ffd;
        }
        ppsVar27 = p;
        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_content\'(%s)",local_dc->zDb,local_dc->zName,p);
        sqlite3_free(p);
      }
      fts3DbExec(&n,db_00,
                 "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",
                 local_dc->zDb,local_dc->zName,ppsVar27);
      fts3DbExec(&n,db_00,
                 "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"
                 ,local_dc->zDb,local_dc->zName);
      if (local_dc->bHasDocsize != '\0') {
        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",
                   local_dc->zDb,local_dc->zName);
      }
      if (local_dc->bHasStat != '\0') {
        sqlite3Fts3CreateStatTable(&n,local_dc);
      }
      rc = n;
      if (n != 0) {
        local_dc->nNodeSize = local_dc->nPgsz + -0x23;
        goto LAB_000d0ab0;
      }
    }
    pcVar21 = sqlite3_mprintf("PRAGMA %Q.page_size",local_dc->zDb);
    if (pcVar21 == (char *)0x0) {
      sqlite3_free((void *)0x0);
      rc = 7;
      local_dc->nNodeSize = local_dc->nPgsz + -0x23;
      local_9c = (byte *)0x0;
      local_ac = (byte *)0x0;
      goto LAB_000cfaef;
    }
    iVar17 = sqlite3_prepare(local_dc->db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0);
    if (iVar17 == 0) {
      sqlite3_step((sqlite3_stmt *)n);
      iVar17 = sqlite3_column_int((sqlite3_stmt *)n,0);
      local_dc->nPgsz = iVar17;
      iVar17 = sqlite3_finalize((sqlite3_stmt *)n);
LAB_000d0420:
      sqlite3_free(pcVar21);
      local_dc->nNodeSize = local_dc->nPgsz + -0x23;
      rc = iVar17;
      if (iVar17 != 0) goto LAB_000d0ab0;
    }
    else {
      if (iVar17 != 0x17) goto LAB_000d0420;
      local_dc->nPgsz = 0x400;
      sqlite3_free(pcVar21);
      rc = 0;
      local_dc->nNodeSize = local_dc->nPgsz + -0x23;
    }
    pcVar21 = "__langid";
    if (local_dc->zLanguageid != (char *)0x0) {
      pcVar21 = local_dc->zLanguageid;
    }
    sqlite3_vtab_config(local_dc->db,1,1);
    pcVar20 = sqlite3_mprintf("%Q, ",*local_dc->azColumn);
    if (pcVar20 == (char *)0x0) {
LAB_000d04d3:
      pcVar20 = (char *)0x0;
      iVar17 = 7;
      pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,
                                local_dc->zName,pcVar21);
    }
    else {
      if (1 < local_dc->nColumn) {
        iVar17 = 1;
        do {
          ppcVar1 = local_dc->azColumn + iVar17;
          iVar17 = iVar17 + 1;
          pcVar20 = sqlite3_mprintf("%z%Q, ",pcVar20,*ppcVar1);
          if (pcVar20 == (char *)0x0) goto LAB_000d04d3;
        } while (iVar17 < local_dc->nColumn);
      }
      iVar17 = 7;
      pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",pcVar20,
                                local_dc->zName,pcVar21);
      if (pcVar21 != (char *)0x0) {
        iVar17 = sqlite3_declare_vtab(local_dc->db,pcVar21);
      }
    }
    sqlite3_free(pcVar21);
    sqlite3_free(pcVar20);
    local_9c = (byte *)0x0;
    local_ac = (byte *)0x0;
    rc = iVar17;
  }
  else {
LAB_000d0ab0:
    local_9c = (byte *)0x0;
    local_ac = (byte *)0x0;
  }
LAB_000cfaef:
  sqlite3_free(local_a8);
  sqlite3_free(local_bc);
  sqlite3_free(local_a4);
  sqlite3_free(local_a0);
  sqlite3_free(local_ac);
  sqlite3_free(local_9c);
  piVar18 = local_c0;
  if (local_b0 != 0) {
    do {
      piVar22 = piVar18 + 1;
      sqlite3_free((void *)*piVar18);
      piVar18 = piVar22;
    } while (local_c0 + local_b0 != piVar22);
  }
  sqlite3_free(local_cc);
  sqlite3_free(local_c0);
  if (rc == 0) {
    *ppVTab = &local_dc->base;
  }
  else if (local_dc == (Fts3Table *)0x0) {
    if (pTokenizer != (sqlite3_tokenizer *)0x0) {
      (*pTokenizer->pModule->xDestroy)(pTokenizer);
    }
  }
  else {
    fts3DisconnectMethod(&local_dc->base);
  }
  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {
    return rc;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

size_t __regparm2
FUN_000cf860(int param_1,undefined4 param_2,int param_3,int *param_4,undefined4 *param_5,
            undefined4 param_6)

{
  char cVar1;
  char cVar2;
  byte bVar3;
  byte bVar4;
  size_t sVar5;
  size_t sVar6;
  size_t sVar7;
  int iVar8;
  char *pcVar9;
  void *pvVar10;
  size_t sVar11;
  undefined *puVar12;
  char *pcVar13;
  undefined4 *puVar14;
  uint uVar15;
  size_t *psVar16;
  undefined4 uVar17;
  byte *pbVar18;
  byte *pbVar19;
  byte *pbVar20;
  int iVar21;
  int *piVar22;
  int iVar23;
  void *pvVar24;
  int *piVar25;
  int iVar26;
  undefined4 *puVar27;
  int in_GS_OFFSET;
  bool bVar28;
  bool bVar29;
  size_t *psVar30;
  void *local_dc;
  undefined *local_d0;
  undefined4 *local_cc;
  undefined *local_c8;
  int *local_c0;
  undefined4 *local_bc;
  int local_b8;
  undefined *local_b4;
  int local_b0;
  byte *local_ac;
  byte *local_a8;
  byte *local_a4;
  byte *local_a0;
  byte *local_9c;
  size_t local_80;
  size_t local_6c;
  int *local_68;
  size_t local_64;
  char *local_60;
  int local_5c;
  char *local_58;
  int local_54;
  char *local_50;
  undefined4 local_4c;
  char *local_48;
  undefined4 local_44;
  char *local_40;
  undefined4 local_3c;
  char *local_38;
  undefined4 local_34;
  char *local_30;
  undefined4 local_2c;
  char *local_28;
  undefined4 local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0xcf86b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_6c = 0;
  cVar1 = *(char *)(*param_4 + 3);
  local_68 = (int *)0x0;
  sVar5 = strlen((char *)param_4[1]);
  sVar6 = strlen((char *)param_4[2]);
  sVar7 = param_3 * 4 - 8;
  local_cc = (undefined4 *)FUN_0003f0c0(sVar7,0);
  if (local_cc != (undefined4 *)0x0) {
    memset(local_cc,0,sVar7);
    local_c0 = (int *)FUN_0003f0c0(sVar7,0);
    if (local_c0 != (int *)0x0) {
      memset(local_c0,0,sVar7);
      if ((local_6c == 0) && (3 < param_3)) {
        iVar21 = 0;
        local_d0 = (undefined *)0x0;
        iVar23 = 3;
        local_b0 = 0;
        local_9c = (byte *)0x0;
        local_ac = (byte *)0x0;
        local_a0 = (byte *)0x0;
        local_a4 = (byte *)0x0;
        local_a8 = (byte *)0x0;
        bVar29 = false;
        bVar3 = 0;
LAB_000cfa14:
        pcVar13 = (char *)param_4[iVar23];
        iVar23 = iVar23 + 1;
        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&
            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&
           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {
          local_6c = FUN_00076a00(param_6);
          goto LAB_000cfa0c;
        }
        if (cVar1 == '4') {
          cVar2 = *pcVar13;
          pcVar9 = pcVar13;
          if (cVar2 == '=') {
            local_b4 = (undefined *)0x0;
          }
          else {
            do {
              if (cVar2 == '\0') goto LAB_000cf9db;
              pcVar9 = pcVar9 + 1;
              cVar2 = *pcVar9;
            } while (cVar2 != '=');
            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);
          }
          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);
          if (pbVar19 != (byte *)0x0) {
            FUN_0001d8b0();
          }
          local_5c = 9;
          local_54 = 6;
          local_60 = "matchinfo";
          local_58 = "prefix";
          local_50 = "compress";
          local_48 = "uncompress";
          local_40 = "order";
          local_38 = "content";
          local_30 = "languageid";
          local_4c = 8;
          local_44 = 10;
          local_3c = 5;
          local_34 = 7;
          local_2c = 10;
          local_28 = "notindexed";
          local_24 = 10;
          if (pbVar19 != (byte *)0x0) {
            iVar8 = 9;
            iVar26 = 0;
            do {
              pbVar20 = pbVar19;
              if ((local_b4 == (undefined *)iVar8) &&
                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {
                switch(iVar26) {
                default:
                  sVar7 = strlen((char *)pbVar19);
                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {
                    bVar3 = 1;
                  }
                  else {
                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);
                    local_6c = 1;
                    bVar3 = 1;
                  }
                  break;
                case 1:
                  FUN_00024cc0(local_a8);
                  pbVar20 = (byte *)0x0;
                  local_a8 = pbVar19;
                  break;
                case 2:
                  FUN_00024cc0(local_a4);
                  pbVar20 = (byte *)0x0;
                  local_a4 = pbVar19;
                  break;
                case 3:
                  FUN_00024cc0(local_a0);
                  pbVar20 = (byte *)0x0;
                  local_a0 = pbVar19;
                  break;
                case 4:
                  sVar7 = strlen((char *)pbVar19);
                  if (sVar7 == 3) {
                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);
                    if (iVar8 != 0) {
                      sVar7 = strlen((char *)pbVar19);
                      goto code_r0x000d0c76;
                    }
                  }
                  else {
code_r0x000d0c76:
                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))
                    {
                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);
                      local_6c = 1;
                    }
                  }
                  bVar29 = (*pbVar19 & 0xdf) == 0x44;
                  break;
                case 5:
                  FUN_00024cc0(local_ac);
                  pbVar20 = (byte *)0x0;
                  local_ac = pbVar19;
                  break;
                case 6:
                  FUN_00024cc0(local_9c);
                  pbVar20 = (byte *)0x0;
                  local_9c = pbVar19;
                  break;
                case 7:
                  local_c0[local_b0] = (int)pbVar19;
                  local_b0 = local_b0 + 1;
                  pbVar20 = (byte *)0x0;
                }
                goto LAB_000d06b8;
              }
              iVar26 = iVar26 + 1;
              if (iVar26 == 8) goto LAB_000d0688;
              iVar8 = (&local_5c)[iVar26 * 2];
            } while( true );
          }
          local_6c = 7;
          bVar28 = false;
          goto LAB_000cfd03;
        }
LAB_000cf9db:
        sVar7 = strlen(pcVar13);
        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);
        local_cc[iVar21] = pcVar13;
        iVar21 = iVar21 + 1;
        goto LAB_000cfa0c;
      }
      bVar3 = 0;
      iVar21 = 0;
      local_a8 = (byte *)0x0;
      local_ac = (byte *)0x0;
      local_9c = (byte *)0x0;
      local_b0 = 0;
      bVar29 = false;
      local_d0 = (undefined *)0x0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
      goto LAB_000d0578;
    }
  }
  local_6c = 7;
  local_c0 = (int *)0x0;
  local_bc = (undefined4 *)0x0;
  local_b0 = 0;
  local_9c = (byte *)0x0;
  local_ac = (byte *)0x0;
  local_a0 = (byte *)0x0;
  local_a4 = (byte *)0x0;
  local_a8 = (byte *)0x0;
  local_dc = (void *)0x0;
  goto LAB_000cfaef;
LAB_000d0688:
  FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13);
  local_6c = 1;
LAB_000d06b8:
  FUN_00024cc0(pbVar20);
LAB_000cfa0c:
  bVar28 = local_6c == 0;
  if (param_3 <= iVar23 || !bVar28) goto LAB_000cfd03;
  goto LAB_000cfa14;
LAB_000d08d0:
  iVar23 = iVar23 + 1;
  if (iVar23 == iVar21) goto LAB_000cfd38;
  goto LAB_000d08db;
LAB_000cfd03:
  if ((local_ac == (byte *)0x0) || (!bVar28)) {
LAB_000d0578:
    if (local_6c != 0) {
      local_bc = (undefined4 *)0x0;
      local_dc = (void *)0x0;
      goto LAB_000cfaef;
    }
    goto LAB_000d0580;
  }
  FUN_00024cc0(local_a4);
  FUN_00024cc0(local_a0);
  if (iVar21 == 0) {
    FUN_00024cc0(local_cc);
    local_64 = 0;
    iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);
    if (iVar21 == 0) {
      FUN_00024cc0(0);
      local_6c = 7;
      local_bc = (undefined4 *)0x0;
      local_cc = (undefined4 *)0x0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
      local_dc = (void *)0x0;
      goto LAB_000cfaef;
    }
    sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);
    if (sVar7 != 0) {
      uVar17 = FUN_00055cc0(param_2);
      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);
      FUN_00024cc0(iVar21);
      local_6c = sVar7;
LAB_000d0e57:
      local_bc = (undefined4 *)0x0;
      local_cc = (undefined4 *)0x0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
      local_dc = (void *)0x0;
      goto LAB_000cfaef;
    }
    FUN_00024cc0(iVar21);
    iVar21 = FUN_0001bb40(local_64);
    if (iVar21 < 1) {
      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);
      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;
      FUN_00089c20(local_64);
      local_6c = 0;
      local_d0 = (undefined *)0x0;
      if (local_9c == (byte *)0x0) goto LAB_000d1169;
      local_d0 = (undefined *)0x0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
    }
    else {
      iVar23 = 0;
      local_d0 = (undefined *)0x0;
      iVar8 = 0;
      do {
        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);
        sVar7 = strlen(pcVar13);
        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);
        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);
        iVar23 = iVar23 + (uint)bVar28;
        iVar8 = iVar8 + 1;
      } while (iVar21 != iVar8);
      local_cc = (undefined4 *)
                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,
                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));
      if (local_cc == (undefined4 *)0x0) {
LAB_000d1187:
        FUN_00089c20(local_64);
        local_6c = 7;
        goto LAB_000d0e57;
      }
      iVar23 = 0;
      puVar27 = local_cc + iVar21;
      do {
        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);
        sVar7 = strlen(pcVar13);
        memcpy(puVar27,pcVar13,sVar7 + 1);
        local_cc[iVar23] = puVar27;
        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);
        iVar23 = iVar23 + 1;
      } while (iVar21 != iVar23);
      FUN_00089c20(local_64);
      local_6c = 0;
      if (local_9c != (byte *)0x0) {
        iVar23 = 0;
LAB_000d08db:
        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);
        if (iVar8 != 0) goto LAB_000d08d0;
        puVar27 = local_cc + iVar23;
        if (iVar23 < iVar21) {
          do {
            puVar14 = puVar27 + 1;
            *puVar27 = puVar27[1];
            puVar27 = puVar14;
          } while (local_cc + iVar21 != puVar14);
        }
        iVar21 = iVar21 + -1;
        local_a0 = (byte *)0x0;
        local_a4 = (byte *)0x0;
        goto LAB_000d0578;
      }
LAB_000d1169:
      local_6c = 0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
    }
LAB_000d0580:
    if (iVar21 == 0) {
      iVar21 = 1;
      local_d0 = (undefined *)0x8;
      *local_cc = "content";
    }
  }
  else {
LAB_000cfd38:
    if (local_6c != 0) {
      local_bc = (undefined4 *)0x0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
LAB_000d0985:
      local_dc = (void *)0x0;
      goto LAB_000cfaef;
    }
    local_a0 = (byte *)0x0;
    local_a4 = (byte *)0x0;
    local_6c = 0;
  }
  if (local_68 == (int *)0x0) {
    local_6c = FUN_00076a00(param_6);
    local_bc = (undefined4 *)0x0;
    if (local_6c != 0) {
      local_dc = (void *)0x0;
      goto LAB_000cfaef;
    }
  }
  if (local_a8 == (byte *)0x0) {
    local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);
    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;
    *local_bc = 0;
    local_bc[5] = 0;
    uVar15 = 0;
    do {
      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;
      uVar15 = uVar15 + 4;
    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));
    local_6c = 0;
    iVar23 = 6;
    local_80 = 1;
    local_b4 = (undefined *)0x1;
  }
  else {
    bVar4 = *local_a8;
    if (bVar4 == 0) {
      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);
      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;
      *local_bc = 0;
      local_bc[5] = 0;
      uVar15 = 0;
      do {
        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;
        uVar15 = uVar15 + 4;
      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))
      ;
      iVar23 = 6;
      local_80 = 1;
    }
    else {
      local_b4 = (undefined *)0x2;
      pbVar19 = local_a8;
      do {
        pbVar19 = pbVar19 + 1;
        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));
        bVar4 = *pbVar19;
      } while (bVar4 != 0);
      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);
      if (local_bc == (undefined4 *)0x0) {
LAB_000d06fb:
        local_6c = 7;
        local_bc = (undefined4 *)0x0;
        local_dc = (void *)0x0;
        goto LAB_000cfaef;
      }
      memset(local_bc,0,(int)local_b4 * 0x18);
      local_b8 = 1;
      pbVar19 = local_a8;
      do {
        if (9 < (byte)(*pbVar19 - 0x30)) {
LAB_000d094c:
          local_6c = 1;
          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);
          local_b4 = (undefined *)local_6c;
          if (local_6c != 0) goto LAB_000d0985;
          local_80 = 0;
          iVar23 = 0;
          goto LAB_000cfe77;
        }
        iVar23 = (char)*pbVar19 + -0x30;
        pbVar20 = pbVar19;
        do {
          pbVar18 = pbVar20;
          pbVar20 = pbVar18 + 1;
          if (9 < (byte)(pbVar18[1] - 0x30)) {
            if (pbVar20 == pbVar19) goto LAB_000d094c;
            if (iVar23 == 0) goto LAB_000d0938;
            local_bc[local_b8 * 6] = iVar23;
            local_b8 = local_b8 + 1;
            goto LAB_000cfe51;
          }
          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;
        } while (iVar23 < 0x989681);
        if (pbVar20 == pbVar19) goto LAB_000d094c;
LAB_000d0938:
        local_b4 = (undefined *)((int)local_b4 - 1);
LAB_000cfe51:
        pbVar19 = pbVar18 + 2;
      } while (local_b8 < (int)local_b4);
      local_80 = (size_t)local_b4;
      iVar23 = (int)local_b4 * 6;
    }
    local_6c = 0;
    local_b4 = (undefined *)local_80;
  }
LAB_000cfe77:
  sVar5 = sVar5 + 1;
  sVar6 = sVar6 + 1;
  sVar7 = sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c;
  local_dc = (void *)FUN_0003f0c0(sVar7,0);
  if (local_dc == (void *)0x0) {
    local_6c = 7;
    goto LAB_000cfaef;
  }
  bVar28 = cVar1 == '4';
  memset(local_dc,0,sVar7);
  *(int *)((int)local_dc + 0x18) = iVar21;
  *(undefined4 *)((int)local_dc + 0x30) = 0xff;
  *(int **)((int)local_dc + 0x24) = local_68;
  *(undefined4 *)((int)local_dc + 0xc) = param_2;
  *(int *)((int)local_dc + 0x1c) = (int)local_dc + 0x11c;
  *(bool *)((int)local_dc + 0xe9) = bVar28;
  *(bool *)((int)local_dc + 0xe8) = bVar28;
  *(byte *)((int)local_dc + 0xea) = (bVar3 ^ 1) & bVar28;
  *(bool *)((int)local_dc + 0xeb) = bVar29;
  *(undefined4 *)((int)local_dc + 0x108) = 0;
  *(undefined4 *)((int)local_dc + 0x104) = 0x100000;
  *(byte **)((int)local_dc + 0x28) = local_ac;
  *(byte **)((int)local_dc + 0x2c) = local_9c;
  pvVar10 = (void *)((int)local_dc + 0x11c + iVar21 * 4);
  *(void **)((int)local_dc + 0x100) = pvVar10;
  memcpy(pvVar10,local_bc,local_80 * 0x18);
  sVar7 = 0;
  *(undefined **)((int)local_dc + 0xfc) = local_b4;
  if (local_b4 != (undefined *)0x0) {
    do {
      sVar11 = sVar7 + 1;
      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;
      *(undefined2 *)(iVar23 + 4) = 0x101;
      *(undefined4 *)(iVar23 + 0xc) = 0;
      *(undefined4 *)(iVar23 + 8) = 0;
      *(undefined4 *)(iVar23 + 0x10) = 0;
      *(undefined4 *)(iVar23 + 0x14) = 0;
      sVar7 = sVar11;
    } while (local_b4 != (undefined *)sVar11);
  }
  iVar23 = local_80 * 0x18 + *(int *)((int)local_dc + 0x100);
  *(int *)((int)local_dc + 0x20) = iVar23;
  pvVar10 = (void *)(iVar23 + iVar21);
  *(void **)((int)local_dc + 0x14) = pvVar10;
  pvVar24 = (void *)((int)pvVar10 + sVar6);
  memcpy(pvVar10,(void *)param_4[2],sVar6);
  *(void **)((int)local_dc + 0x10) = pvVar24;
  pvVar10 = (void *)((int)pvVar24 + sVar5);
  iVar23 = 0;
  memcpy(pvVar24,(void *)param_4[1],sVar5);
  if (0 < iVar21) {
    do {
      local_64 = 0;
      pvVar24 = (void *)FUN_0001ea80();
      if (0 < (int)local_64) {
        memcpy(pvVar10,pvVar24,local_64);
      }
      *(undefined1 *)((int)pvVar10 + local_64) = 0;
      FUN_0001d8b0();
      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;
      iVar23 = iVar23 + 4;
      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);
    } while (iVar21 * 4 != iVar23);
    local_c8 = (undefined *)0x0;
    do {
      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));
      piVar22 = local_c0;
      if (local_b0 != 0) {
        do {
          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&
                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&
                 (iVar23 = FUN_00028130(*(undefined4 *)
                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),
                                        pcVar13,sVar7), iVar23 == 0))) {
            piVar25 = piVar22 + 1;
            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;
            FUN_00024cc0(pcVar13);
            *piVar22 = 0;
            piVar22 = piVar25;
            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;
          }
          piVar22 = piVar22 + 1;
        } while (local_c0 + local_b0 != piVar22);
      }
LAB_000d0168:
      local_c8 = (undefined *)((int)local_c8 + 1);
    } while (local_c8 != (undefined *)iVar21);
  }
  piVar22 = local_c0;
  if (local_b0 != 0) {
    do {
      if (*piVar22 != 0) {
        FUN_00071050(param_6,"no such column: %s",*piVar22);
        local_6c = 1;
      }
      piVar22 = piVar22 + 1;
    } while (local_c0 + local_b0 != piVar22);
  }
  if ((local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {
    local_6c = 1;
    pcVar13 = "uncompress";
    if (local_a4 == (byte *)0x0) {
      pcVar13 = "compress";
    }
    FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);
  }
  local_64 = 0;
  if (*(int *)((int)local_dc + 0x28) == 0) {
    if (local_a0 == (byte *)0x0) {
      local_d0 = &DAT_000f50ff;
      local_b4 = (undefined *)0x0;
    }
    else {
      local_d0 = (undefined *)FUN_00041e40();
      local_b4 = local_d0;
    }
    iVar21 = 0;
    FUN_00076c30(&local_6c,&local_64,"docid");
    if (0 < *(int *)((int)local_dc + 0x18)) {
      do {
        iVar23 = iVar21 + 1;
        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,
                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));
        iVar21 = iVar23;
      } while (iVar23 < *(int *)((int)local_dc + 0x18));
    }
    if (*(int *)((int)local_dc + 0x2c) != 0) {
      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");
    }
    FUN_00024cc0(local_b4);
  }
  else {
    FUN_00076c30(&local_6c,&local_64,"rowid");
    if (0 < *(int *)((int)local_dc + 0x18)) {
      iVar21 = 0;
      do {
        iVar23 = iVar21 * 4;
        iVar21 = iVar21 + 1;
        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",
                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));
      } while (iVar21 < *(int *)((int)local_dc + 0x18));
    }
    if (*(int *)((int)local_dc + 0x2c) != 0) {
      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));
    }
  }
  iVar21 = *(int *)((int)local_dc + 0x28);
  if (iVar21 == 0) {
    pcVar13 = "_content";
    iVar21 = *(int *)((int)local_dc + 0x14);
  }
  else {
    pcVar13 = "";
  }
  FUN_00076c30(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",
               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13);
  *(size_t *)((int)local_dc + 0xdc) = local_64;
  local_64 = 0;
  if (local_a4 == (byte *)0x0) {
    local_c8 = (undefined *)0x0;
    puVar12 = &DAT_000f50ff;
  }
  else {
    puVar12 = (undefined *)FUN_00041e40();
    local_c8 = puVar12;
  }
  iVar21 = 0;
  psVar30 = &local_64;
  FUN_00076c30(&local_6c,&local_64,&DAT_000f8342);
  if (0 < *(int *)((int)local_dc + 0x18)) {
    do {
      iVar21 = iVar21 + 1;
      psVar30 = &local_64;
      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);
    } while (iVar21 < *(int *)((int)local_dc + 0x18));
  }
  if (*(int *)((int)local_dc + 0x2c) != 0) {
    psVar30 = &local_64;
    FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);
  }
  FUN_00024cc0(local_c8);
  *(size_t *)((int)local_dc + 0xe0) = local_64;
  if (local_6c == 0) {
    if (param_1 == 0) {
      if (cVar1 != '4') {
        *(undefined1 *)((int)local_dc + 0xe9) = 2;
      }
    }
    else {
      local_64 = 0;
      uVar17 = *(undefined4 *)((int)local_dc + 0xc);
      if (*(int *)((int)local_dc + 0x28) == 0) {
        iVar21 = *(int *)((int)local_dc + 0x2c);
        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");
        if (psVar16 == (size_t *)0x0) {
LAB_000d0ffd:
          local_64 = 7;
          psVar16 = (size_t *)0x0;
        }
        else {
          if (0 < *(int *)((int)local_dc + 0x18)) {
            iVar23 = 0;
            do {
              iVar8 = iVar23 + 1;
              psVar16 = (size_t *)
                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,
                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));
              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;
              iVar23 = iVar8;
            } while (iVar8 < *(int *)((int)local_dc + 0x18));
          }
          if ((iVar21 != 0) &&
             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),
             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;
        }
        psVar30 = psVar16;
        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",
                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),
                     psVar16);
        FUN_00024cc0(psVar16);
      }
      FUN_000c9d20(&local_64,uVar17,
                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",
                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),
                   psVar30);
      FUN_000c9d20(&local_64,uVar17,
                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"
                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));
      if (*(char *)((int)local_dc + 0xea) != '\0') {
        FUN_000c9d20(&local_64,uVar17,
                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",
                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));
      }
      if (*(char *)((int)local_dc + 0xe9) != '\0') {
        FUN_000c9d90();
      }
      local_6c = local_64;
      if (local_64 != 0) {
        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;
        goto LAB_000d0ab0;
      }
    }
    iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));
    if (iVar21 == 0) {
      FUN_00024cc0(0);
      local_6c = 7;
      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;
      local_9c = (byte *)0x0;
      local_ac = (byte *)0x0;
      goto LAB_000cfaef;
    }
    sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);
    if (sVar7 == 0) {
      FUN_000accc0(local_64);
      uVar17 = FUN_000384a0(local_64,0);
      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;
      sVar7 = FUN_00089c20(local_64);
LAB_000d0420:
      FUN_00024cc0(iVar21);
      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;
      local_6c = sVar7;
      if (sVar7 != 0) goto LAB_000d0ab0;
    }
    else {
      if (sVar7 != 0x17) goto LAB_000d0420;
      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;
      FUN_00024cc0(iVar21);
      local_6c = 0;
      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;
    }
    pcVar13 = "__langid";
    if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {
      pcVar13 = *(char **)((int)local_dc + 0x2c);
    }
    FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);
    iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));
    if (iVar21 == 0) {
LAB_000d04d3:
      iVar21 = 0;
      sVar7 = 7;
      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,
                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);
    }
    else {
      if (1 < *(int *)((int)local_dc + 0x18)) {
        iVar23 = 1;
        do {
          iVar8 = iVar23 * 4;
          iVar23 = iVar23 + 1;
          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,
                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));
          if (iVar21 == 0) goto LAB_000d04d3;
        } while (iVar23 < *(int *)((int)local_dc + 0x18));
      }
      sVar7 = 7;
      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,
                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);
      if (iVar23 != 0) {
        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);
      }
    }
    FUN_00024cc0(iVar23);
    FUN_00024cc0(iVar21);
    local_9c = (byte *)0x0;
    local_ac = (byte *)0x0;
    local_6c = sVar7;
  }
  else {
LAB_000d0ab0:
    local_9c = (byte *)0x0;
    local_ac = (byte *)0x0;
  }
LAB_000cfaef:
  FUN_00024cc0(local_a8);
  FUN_00024cc0(local_bc);
  FUN_00024cc0(local_a4);
  FUN_00024cc0(local_a0);
  FUN_00024cc0(local_ac);
  FUN_00024cc0(local_9c);
  piVar22 = local_c0;
  if (local_b0 != 0) {
    do {
      piVar25 = piVar22 + 1;
      FUN_00024cc0(*piVar22);
      piVar22 = piVar25;
    } while (local_c0 + local_b0 != piVar25);
  }
  FUN_00024cc0(local_cc);
  FUN_00024cc0(local_c0);
  if (local_6c == 0) {
    *param_5 = local_dc;
  }
  else if (local_dc == (void *)0x0) {
    if (local_68 != (int *)0x0) {
      (**(code **)(*local_68 + 8))(local_68);
    }
  }
  else {
    FUN_0008cf60(local_dc);
  }
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return local_6c;
  }
                    /* WARNING: Subroutine does not return */
  FUN_000f4bf0();
}


PUSH EBP
XOR EBP,EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00014cf0
ADD EBX,0x79669
SUB ESP,0xd8
MOV dword ptr [ESP + 0x64],EAX
MOV EAX,dword ptr [ESP + 0xf4]
MOV dword ptr [ESP + 0x2c],ECX
MOV ECX,dword ptr [ESP + 0xf0]
MOV dword ptr [ESP + 0x54],EAX
MOV EAX,dword ptr [ESP + 0xf8]
MOV dword ptr [ESP + 0x60],EDX
MOV EDI,ECX
MOV dword ptr [ESP + 0x20],ECX
MOV dword ptr [ESP + 0x50],EAX
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0xc8],EAX
XOR EAX,EAX
MOV EAX,dword ptr [ECX]
MOV dword ptr [ESP + 0x7c],0x0
MOVZX EAX,byte ptr [EAX + 0x3]
MOV dword ptr [ESP + 0x80],0x0
MOV byte ptr [ESP + 0x27],AL
PUSH dword ptr [ECX + 0x4]
CALL 0x00014230
POP ECX
MOV dword ptr [ESP + 0x58],EAX
PUSH dword ptr [EDI + 0x8]
CALL 0x00014230
POP ESI
POP EDI
MOV dword ptr [ESP + 0x58],EAX
MOV EAX,dword ptr [ESP + 0xe8]
PUSH EBP
LEA ESI,[EAX*0x4 + 0xfffffff8]
PUSH ESI
CALL 0x0003f0c0
MOV dword ptr [ESP + 0x20],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000cfaa0
SUB ESP,0x4
PUSH ESI
PUSH 0x0
PUSH EAX
CALL 0x00014280
POP EAX
POP EDX
PUSH EBP
PUSH ESI
CALL 0x0003f0c0
MOV dword ptr [ESP + 0x2c],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000cfaa0
SUB ESP,0x4
PUSH ESI
PUSH 0x0
PUSH EAX
CALL 0x00014280
MOV EAX,dword ptr [ESP + 0x80]
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000d0528
CMP dword ptr [ESP + 0xe0],0x3
JLE 0x000d0528
LEA EAX,[EBX + 0xfffade0f]
XOR EBP,EBP
MOV dword ptr [ESP + 0xc],0x0
MOV ESI,0x3
MOV dword ptr [ESP + 0x24],EAX
LEA EAX,[EBX + 0xfffad711]
MOV dword ptr [ESP + 0x2c],0x0
MOV dword ptr [ESP + 0x40],0x0
MOV dword ptr [ESP + 0x30],0x0
MOV dword ptr [ESP + 0x3c],0x0
MOV dword ptr [ESP + 0x38],0x0
MOV dword ptr [ESP + 0x34],0x0
MOV dword ptr [ESP + 0x6c],0x0
MOV dword ptr [ESP + 0x68],0x0
MOV dword ptr [ESP + 0x5c],EAX
JMP 0x000cfa14
CMP byte ptr [ESP + 0x1b],0x34
JZ 0x000cfbd0
SUB ESP,0xc
PUSH EDI
CALL 0x00014230
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0xc]
MOVZX EDX,byte ptr [ESP]
LEA EAX,[ECX + EAX*0x1 + 0x1]
MOV dword ptr [ESP + 0xc],EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [EAX + EBP*0x4],EDI
MOV EAX,dword ptr [ESP + 0x70]
TEST EAX,EAX
SETZ CL
ADD EBP,0x1
AND EDX,ECX
TEST DL,DL
JZ 0x000cfd03
MOV EAX,dword ptr [ESP + 0x14]
MOV ECX,dword ptr [ESP + 0x74]
MOV EDI,dword ptr [EAX + ESI*0x4]
ADD ESI,0x1
CMP dword ptr [ESP + 0xe0],ESI
SETG byte ptr [ESP]
TEST ECX,ECX
JNZ 0x000cf9d0
SUB ESP,0xc
PUSH EDI
CALL 0x00014230
ADD ESP,0x10
CMP EAX,0x8
JBE 0x000cf9d0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffaf87a]
PUSH 0x8
PUSH EAX
PUSH EDI
CALL 0x00028130
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000cf9d0
MOVSX EAX,byte ptr [EDI + 0x8]
TEST AL,AL
JS 0x000cf9d0
CMP byte ptr [EBX + EAX*0x1 + 0xfffb37cc],0x0
JNZ 0x000cf9d0
LEA ECX,[ESP + 0x74]
SUB ESP,0xc
LEA EDX,[EDI + 0x9]
PUSH dword ptr [ESP + 0x50]
MOV EAX,dword ptr [ESP + 0x30]
CALL 0x00076a00
MOV dword ptr [ESP + 0x80],EAX
JMP 0x000d06c8
MOV dword ptr [ESP + 0x70],0x7
MOV dword ptr [ESP + 0x1c],0x0
MOV dword ptr [ESP + 0x20],0x0
MOV dword ptr [ESP + 0x2c],0x0
MOV dword ptr [ESP + 0x40],0x0
MOV dword ptr [ESP + 0x30],0x0
MOV dword ptr [ESP + 0x3c],0x0
MOV dword ptr [ESP + 0x38],0x0
MOV dword ptr [ESP + 0x34],0x0
MOV dword ptr [ESP],0x0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x40]
CALL 0x00024cc0
POP EDI
PUSH dword ptr [ESP + 0x2c]
CALL 0x00024cc0
POP EBP
PUSH dword ptr [ESP + 0x44]
CALL 0x00024cc0
POP EAX
PUSH dword ptr [ESP + 0x48]
CALL 0x00024cc0
POP EAX
PUSH dword ptr [ESP + 0x3c]
CALL 0x00024cc0
POP EAX
PUSH dword ptr [ESP + 0x4c]
CALL 0x00024cc0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x1c]
MOV ECX,dword ptr [ESP + 0x2c]
MOV EDI,EAX
LEA ESI,[EAX + ECX*0x4]
TEST ECX,ECX
JZ 0x000cfb5c
LEA ESI,[ESI]
SUB ESP,0xc
PUSH dword ptr [EDI]
ADD EDI,0x4
CALL 0x00024cc0
ADD ESP,0x10
CMP ESI,EDI
JNZ 0x000cfb48
SUB ESP,0xc
PUSH dword ptr [ESP + 0x1c]
CALL 0x00024cc0
POP ESI
PUSH dword ptr [ESP + 0x28]
CALL 0x00024cc0
MOV EAX,dword ptr [ESP + 0x80]
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000cfbb0
MOV EBX,dword ptr [ESP + 0x48]
MOV ECX,dword ptr [ESP]
MOV dword ptr [EBX],ECX
MOV EBX,dword ptr [ESP + 0xbc]
XOR EBX,dword ptr GS:[0x14]
JNZ 0x000d1182
ADD ESP,0xcc
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EBX,dword ptr [ESP]
TEST EBX,EBX
JZ 0x000d0660
SUB ESP,0xc
PUSH EBX
CALL 0x0008cf60
MOV EAX,dword ptr [ESP + 0x80]
ADD ESP,0x10
JMP 0x000cfb89
MOVZX EAX,byte ptr [EDI]
CMP AL,0x3d
JZ 0x000d0b95
TEST AL,AL
JZ 0x000cf9db
MOV EAX,EDI
JMP 0x000cfbf8
TEST DL,DL
JZ 0x000cf9db
ADD EAX,0x1
MOVZX EDX,byte ptr [EAX]
CMP DL,0x3d
JNZ 0x000cfbf0
MOV ECX,EAX
SUB ECX,EDI
MOV dword ptr [ESP + 0x28],ECX
SUB ESP,0x8
ADD EAX,0x1
PUSH EAX
PUSH dword ptr [ESP + 0x30]
CALL 0x00071090
ADD ESP,0x10
MOV EDX,EAX
TEST EAX,EAX
JZ 0x000cfc31
MOV dword ptr [ESP + 0x60],EAX
CALL 0x0001d8b0
MOV EDX,dword ptr [ESP + 0x60]
MOV dword ptr [ESP + 0x80],0x9
MOV EAX,dword ptr [ESP + 0x5c]
MOV dword ptr [ESP + 0x88],0x6
MOV dword ptr [ESP + 0x7c],EAX
LEA EAX,[EBX + 0xfffae40e]
MOV dword ptr [ESP + 0x84],EAX
LEA EAX,[EBX + 0xfffaf3a2]
MOV dword ptr [ESP + 0x8c],EAX
LEA EAX,[EBX + 0xfffaf3a0]
MOV dword ptr [ESP + 0x94],EAX
LEA EAX,[EBX + 0xfffadfb1]
MOV dword ptr [ESP + 0x9c],EAX
LEA EAX,[EBX + 0xfffaf3ac]
MOV dword ptr [ESP + 0xa4],EAX
LEA EAX,[EBX + 0xfffaf3bd]
MOV dword ptr [ESP + 0xac],EAX
LEA EAX,[EBX + 0xfffaf3c8]
MOV dword ptr [ESP + 0x90],0x8
MOV dword ptr [ESP + 0x98],0xa
MOV dword ptr [ESP + 0xa0],0x5
MOV dword ptr [ESP + 0xa8],0x7
MOV dword ptr [ESP + 0xb0],0xa
MOV dword ptr [ESP + 0xb4],EAX
MOV dword ptr [ESP + 0xb8],0xa
TEST EDX,EDX
JNZ 0x000d05f0
MOV dword ptr [ESP + 0x70],0x7
XOR ECX,ECX
MOV EAX,0x7
MOV EDX,dword ptr [ESP + 0x30]
TEST EDX,EDX
JZ 0x000d0578
TEST CL,CL
JZ 0x000d0578
SUB ESP,0xc
PUSH dword ptr [ESP + 0x44]
CALL 0x00024cc0
POP EAX
PUSH dword ptr [ESP + 0x48]
CALL 0x00024cc0
ADD ESP,0x10
TEST EBP,EBP
JZ 0x000d0717
MOV EAX,dword ptr [ESP + 0x70]
TEST EAX,EAX
JNZ 0x000d0ba4
MOV dword ptr [ESP + 0x3c],0x0
MOV dword ptr [ESP + 0x38],0x0
MOV EAX,dword ptr [ESP + 0x74]
MOV dword ptr [ESP],EAX
TEST EAX,EAX
JZ 0x000d05b0
MOV ESI,dword ptr [ESP + 0x34]
TEST ESI,ESI
JZ 0x000d09b0
MOV EDX,dword ptr [ESP + 0x34]
MOVZX EAX,byte ptr [EDX]
TEST AL,AL
JZ 0x000d06e0
MOV ECX,0x2
LEA ESI,[ESI]
NOP
CMP AL,0x2c
SETZ AL
ADD EDX,0x1
MOVZX EAX,AL
ADD ECX,EAX
MOVZX EAX,byte ptr [EDX]
TEST AL,AL
JNZ 0x000cfd88
LEA ESI,[ECX + ECX*0x2]
MOV dword ptr [ESP + 0x28],ECX
XOR EDX,EDX
SUB ESP,0x8
SHL ESI,0x3
PUSH EDX
PUSH ESI
CALL 0x0003f0c0
MOV dword ptr [ESP + 0x30],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000d06fb
SUB ESP,0x4
PUSH ESI
PUSH 0x0
PUSH dword ptr [ESP + 0x2c]
CALL 0x00014280
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x34]
MOV dword ptr [ESP + 0x24],0x1
MOV dword ptr [ESP + 0x5c],EBP
MOV EBP,EAX
LEA ESI,[ESI]
MOVSX EAX,byte ptr [EBP]
LEA EDX,[EAX + -0x30]
CMP DL,0x9
JA 0x000d094c
SUB EAX,0x30
MOV ECX,EBP
JMP 0x000cfe18
MOVSX EDX,byte ptr [ESP]
LEA EAX,[EAX + EAX*0x4]
LEA EAX,[EDX + EAX*0x2 + -0x30]
CMP EAX,0x989680
JG 0x000d0948
MOV ECX,ESI
MOVZX EDX,byte ptr [ECX + 0x1]
LEA ESI,[ECX + 0x1]
LEA EDI,[EDX + -0x30]
MOV byte ptr [ESP],DL
MOV EDX,EDI
CMP DL,0x9
JBE 0x000cfe00
CMP ESI,EBP
JZ 0x000d094c
TEST EAX,EAX
JZ 0x000d0938
MOV ESI,dword ptr [ESP + 0x24]
MOV EDI,dword ptr [ESP + 0x20]
LEA EDX,[ESI + ESI*0x2]
ADD ESI,0x1
MOV dword ptr [EDI + EDX*0x8],EAX
MOV dword ptr [ESP + 0x24],ESI
LEA EBP,[ECX + 0x2]
MOV ECX,dword ptr [ESP + 0x24]
CMP dword ptr [ESP + 0x28],ECX
JG 0x000cfde8
MOV EAX,dword ptr [ESP + 0x28]
MOV EBP,dword ptr [ESP + 0x5c]
MOV dword ptr [ESP + 0x5c],EAX
LEA EAX,[EAX + EAX*0x2]
ADD EAX,EAX
MOV dword ptr [ESP + 0x70],0x0
MOV EDI,dword ptr [ESP + 0x50]
MOV ECX,dword ptr [ESP + 0x4c]
LEA EDX,[EBP + EAX*0x1 + 0x47]
SUB ESP,0x8
ADD ECX,0x1
ADD EDI,0x1
LEA EAX,[EDI + ECX*0x1]
MOV dword ptr [ESP + 0x2c],ECX
ADD EAX,EBP
ADD EAX,dword ptr [ESP + 0x14]
LEA ESI,[EAX + EDX*0x4]
XOR EDX,EDX
PUSH EDX
PUSH ESI
CALL 0x0003f0c0
MOV dword ptr [ESP + 0x10],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000d0b88
CMP byte ptr [ESP + 0x1b],0x34
SETZ CL
SUB ESP,0x4
MOV byte ptr [ESP + 0x10],CL
PUSH ESI
PUSH 0x0
MOV ESI,dword ptr [ESP + 0xc]
PUSH ESI
CALL 0x00014280
MOV EDX,dword ptr [ESP + 0x84]
MOV ECX,dword ptr [ESP + 0x64]
MOV dword ptr [ESI + 0x18],EBP
LEA EAX,[ESI + 0x11c]
MOV dword ptr [ESI + 0x30],0xff
MOV dword ptr [ESI + 0x24],EDX
MOVZX EDX,byte ptr [ESP + 0x78]
MOV dword ptr [ESI + 0xc],ECX
MOVZX ECX,byte ptr [ESP + 0x1c]
XOR EDX,0x1
MOV dword ptr [ESI + 0x1c],EAX
MOV byte ptr [ESI + 0xe9],CL
AND EDX,ECX
MOV byte ptr [ESI + 0xe8],CL
MOVZX ECX,byte ptr [ESP + 0x7c]
MOV byte ptr [ESI + 0xea],DL
MOV byte ptr [ESI + 0xeb],CL
MOV ECX,ESI
MOV dword ptr [ESI + 0x108],0x0
MOV dword ptr [ESI + 0x104],0x100000
MOV ESI,dword ptr [ESP + 0x40]
MOV dword ptr [ESP + 0x10],ECX
MOV dword ptr [ECX + 0x28],ESI
MOV ESI,dword ptr [ESP + 0x50]
MOV dword ptr [ECX + 0x2c],ESI
LEA ESI,[EBP*0x4 + 0x0]
MOV dword ptr [ESP + 0x1c],ESI
ADD EAX,ESI
MOV ESI,dword ptr [ESP + 0x6c]
ADD ESP,0xc
MOV dword ptr [ECX + 0x100],EAX
LEA ESI,[ESI + ESI*0x2]
SHL ESI,0x3
PUSH ESI
PUSH dword ptr [ESP + 0x28]
PUSH EAX
CALL 0x000140d0
MOV ECX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x38]
XOR EAX,EAX
ADD ESP,0x10
MOV dword ptr [ECX + 0xfc],EDX
TEST EDX,EDX
JZ 0x000cffe0
MOV dword ptr [ESP + 0x30],EDI
MOV EDI,dword ptr [ESP]
MOV dword ptr [ESP + 0x40],EBP
MOV EBP,dword ptr [ESP + 0x28]
LEA ESI,[ESI]
MOV EDX,dword ptr [EDI + 0x100]
LEA ECX,[EAX + EAX*0x2]
ADD EAX,0x1
LEA EDX,[EDX + ECX*0x8]
MOV ECX,0x101
MOV word ptr [EDX + 0x4],CX
MOV dword ptr [EDX + 0xc],0x0
MOV dword ptr [EDX + 0x8],0x0
MOV dword ptr [EDX + 0x10],0x0
MOV dword ptr [EDX + 0x14],0x0
CMP EBP,EAX
JNZ 0x000cffa0
MOV EDI,dword ptr [ESP + 0x30]
MOV EBP,dword ptr [ESP + 0x40]
MOV EAX,dword ptr [ESP]
SUB ESP,0x4
ADD ESI,dword ptr [EAX + 0x100]
MOV dword ptr [EAX + 0x20],ESI
ADD ESI,EBP
MOV dword ptr [EAX + 0x14],ESI
PUSH EDI
MOV ECX,dword ptr [ESP + 0x1c]
PUSH dword ptr [ECX + 0x8]
PUSH ESI
ADD ESI,EDI
CALL 0x000140d0
MOV EAX,dword ptr [ESP + 0x10]
ADD ESP,0xc
MOV EDI,dword ptr [ESP + 0x28]
MOV dword ptr [EAX + 0x10],ESI
PUSH EDI
MOV ECX,dword ptr [ESP + 0x1c]
PUSH dword ptr [ECX + 0x4]
PUSH ESI
ADD ESI,EDI
XOR EDI,EDI
CALL 0x000140d0
ADD ESP,0x10
LEA EAX,[ESP + 0x78]
MOV dword ptr [ESP + 0x24],EAX
TEST EBP,EBP
JLE 0x000d017b
MOV dword ptr [ESP + 0x14],EBP
MOV EBP,dword ptr [ESP + 0x10]
NOP
MOV dword ptr [ESP + 0x78],0x0
MOV EDX,dword ptr [ESP + 0x24]
MOV EAX,dword ptr [EBP + EDI*0x1]
CALL 0x0001ea80
MOV EDX,dword ptr [ESP + 0x78]
TEST EDX,EDX
JLE 0x000d0072
SUB ESP,0x4
PUSH EDX
PUSH EAX
PUSH ESI
CALL 0x000140d0
MOV EDX,dword ptr [ESP + 0x88]
ADD ESP,0x10
MOV byte ptr [ESI + EDX*0x1],0x0
MOV EAX,ESI
CALL 0x0001d8b0
MOV EAX,dword ptr [ESP]
MOV EAX,dword ptr [EAX + 0x1c]
MOV dword ptr [EAX + EDI*0x1],ESI
MOV EAX,dword ptr [ESP + 0x78]
ADD EDI,0x4
LEA ESI,[ESI + EAX*0x1 + 0x1]
CMP dword ptr [ESP + 0xc],EDI
JNZ 0x000d0040
MOV EAX,dword ptr [ESP + 0x1c]
MOV EDI,dword ptr [ESP + 0x2c]
MOV EBP,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x14],0x0
LEA EAX,[EAX + EDI*0x4]
MOV dword ptr [ESP + 0xc],EAX
MOV dword ptr [ESP + 0x30],EBP
LEA ESI,[ESI]
LEA ESI,[ESI]
MOV ECX,dword ptr [ESP + 0x14]
SUB ESP,0xc
LEA EAX,[ECX*0x4 + 0x0]
MOV dword ptr [ESP + 0x34],EAX
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0x1c]
PUSH dword ptr [EAX + ECX*0x4]
CALL 0x00014230
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x2c]
MOV EBP,dword ptr [ESP + 0x1c]
MOV EDI,EAX
TEST ECX,ECX
JNZ 0x000d0101
JMP 0x000d0168
ADD EBP,0x4
CMP dword ptr [ESP + 0xc],EBP
JZ 0x000d0168
MOV ESI,dword ptr [EBP]
TEST ESI,ESI
JZ 0x000d00f8
SUB ESP,0xc
PUSH ESI
CALL 0x00014230
ADD ESP,0x10
CMP EDI,EAX
JNZ 0x000d00f8
SUB ESP,0x4
PUSH EDI
PUSH ESI
MOV EAX,dword ptr [ESP + 0xc]
MOV ECX,dword ptr [ESP + 0x34]
MOV EAX,dword ptr [EAX + 0x1c]
PUSH dword ptr [EAX + ECX*0x1]
CALL 0x00028130
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000d00f8
MOV EAX,dword ptr [ESP]
MOV ECX,dword ptr [ESP + 0x14]
SUB ESP,0xc
ADD EBP,0x4
MOV EAX,dword ptr [EAX + 0x20]
MOV byte ptr [EAX + ECX*0x1],0x1
PUSH ESI
CALL 0x00024cc0
ADD ESP,0x10
MOV dword ptr [EBP + -0x4],0x0
CMP dword ptr [ESP + 0xc],EBP
JNZ 0x000d0101
LEA ESI,[ESI]
ADD dword ptr [ESP + 0x14],0x1
MOV EAX,dword ptr [ESP + 0x14]
CMP EAX,dword ptr [ESP + 0x30]
JNZ 0x000d00c0
MOV EAX,dword ptr [ESP + 0x1c]
MOV ECX,dword ptr [ESP + 0x2c]
LEA ESI,[EBX + 0xfffae1ec]
MOV EDI,EAX
LEA EBP,[EAX + ECX*0x4]
MOV EAX,ESI
MOV ESI,EDI
MOV EDI,EAX
TEST ECX,ECX
JZ 0x000d01c9
LEA ESI,[ESI]
NOP
MOV EDX,dword ptr [ESI]
TEST EDX,EDX
JZ 0x000d01c2
SUB ESP,0x4
PUSH EDX
PUSH EDI
PUSH dword ptr [ESP + 0x50]
CALL 0x00071050
MOV dword ptr [ESP + 0x80],0x1
ADD ESP,0x10
ADD ESI,0x4
CMP EBP,ESI
JNZ 0x000d01a0
MOV EDX,dword ptr [ESP + 0x70]
TEST EDX,EDX
JNZ 0x000d0217
MOV ECX,dword ptr [ESP + 0x38]
MOV EAX,dword ptr [ESP + 0x3c]
TEST ECX,ECX
SETZ DL
TEST EAX,EAX
SETZ AL
CMP DL,AL
JZ 0x000d0217
TEST ECX,ECX
LEA EDX,[EBX + 0xfffaf3a2]
LEA EAX,[EBX + 0xfffaf3a0]
MOV dword ptr [ESP + 0x70],0x1
CMOVZ EAX,EDX
SUB ESP,0x4
PUSH EAX
LEA EAX,[EBX + 0xfffbd978]
PUSH EAX
PUSH dword ptr [ESP + 0x50]
CALL 0x00071050
ADD ESP,0x10
MOV EAX,dword ptr [ESP]
MOV dword ptr [ESP + 0x78],0x0
MOV EAX,dword ptr [EAX + 0x28]
TEST EAX,EAX
JZ 0x000d0ad8
SUB ESP,0x4
LEA EAX,[EBX + 0xfffade3a]
XOR ESI,ESI
PUSH EAX
LEA EBP,[EBX + 0xfffaf445]
PUSH dword ptr [ESP + 0x2c]
LEA EDI,[ESP + 0x7c]
PUSH EDI
CALL 0x00076c30
ADD ESP,0x10
MOV EAX,dword ptr [ESP]
MOV EAX,dword ptr [EAX + 0x18]
TEST EAX,EAX
JLE 0x000d0287
MOV dword ptr [ESP + 0xc],EBP
MOV EBP,ESI
MOV ESI,dword ptr [ESP]
LEA ESI,[ESI]
NOP
MOV ECX,dword ptr [ESI + 0x1c]
PUSH dword ptr [ECX + EBP*0x4]
ADD EBP,0x1
PUSH dword ptr [ESP + 0x10]
PUSH dword ptr [ESP + 0x2c]
PUSH EDI
CALL 0x00076c30
ADD ESP,0x10
CMP EBP,dword ptr [ESI + 0x18]
JL 0x000d0268
MOV EAX,dword ptr [ESP]
MOV EAX,dword ptr [EAX + 0x2c]
TEST EAX,EAX
JZ 0x000d02a6
PUSH EAX
LEA EAX,[EBX + 0xfffaf43e]
PUSH EAX
PUSH dword ptr [ESP + 0x2c]
PUSH EDI
CALL 0x00076c30
ADD ESP,0x10
MOV EAX,dword ptr [ESP]
MOV EAX,dword ptr [EAX + 0x28]
TEST EAX,EAX
JZ 0x000d0d93
LEA EDX,[EBX + 0xfffac22b]
SUB ESP,0x8
PUSH EDX
PUSH EAX
MOV ESI,dword ptr [ESP + 0x10]
LEA EAX,[EBX + 0xfffaf44e]
PUSH dword ptr [ESI + 0x10]
PUSH EAX
PUSH dword ptr [ESP + 0x3c]
PUSH EDI
CALL 0x00076c30
MOV EAX,dword ptr [ESP + 0x98]
MOV dword ptr [ESI + 0xdc],EAX
MOV dword ptr [ESP + 0x98],0x0
ADD ESP,0x20
MOV EAX,dword ptr [ESP + 0x38]
TEST EAX,EAX
JZ 0x000d0ac5
CALL 0x00041e40
MOV dword ptr [ESP + 0x14],EAX
MOV ESI,EAX
SUB ESP,0x4
LEA EAX,[EBX + 0xfffaf46e]
XOR EBP,EBP
PUSH EAX
PUSH dword ptr [ESP + 0x2c]
PUSH EDI
CALL 0x00076c30
ADD ESP,0x10
LEA EAX,[EBX + 0xfffaf465]
MOV dword ptr [ESP + 0xc],EAX
MOV EAX,dword ptr [ESP]
MOV EAX,dword ptr [EAX + 0x18]
TEST EAX,EAX
JLE 0x000d035d
LEA ESI,[ESI]
LEA ESI,[ESI]
PUSH ESI
ADD EBP,0x1
PUSH dword ptr [ESP + 0x10]
PUSH dword ptr [ESP + 0x2c]
PUSH EDI
CALL 0x00076c30
ADD ESP,0x10
MOV EAX,dword ptr [ESP]
CMP EBP,dword ptr [EAX + 0x18]
JL 0x000d0340
MOV EAX,dword ptr [ESP]
MOV EBP,dword ptr [EAX + 0x2c]
TEST EBP,EBP
JZ 0x000d037e
SUB ESP,0x4
LEA EAX,[EBX + 0xfffaf46c]
PUSH EAX
PUSH dword ptr [ESP + 0x2c]
PUSH EDI
CALL 0x00076c30
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [ESP + 0x20]
CALL 0x00024cc0
MOV EAX,dword ptr [ESP + 0x88]
MOV EDI,dword ptr [ESP + 0x10]
MOV EBP,dword ptr [ESP + 0x80]
ADD ESP,0x10
MOV dword ptr [EDI + 0xe0],EAX
TEST EBP,EBP
JNZ 0x000d0ab0
MOV ESI,dword ptr [ESP + 0x58]
TEST ESI,ESI
JNZ 0x000d0a1c
CMP byte ptr [ESP + 0x1b],0x34
JZ 0x000d03ca
MOV EAX,dword ptr [ESP]
MOV byte ptr [EAX + 0xe9],0x2
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x8]
PUSH dword ptr [EAX + 0x10]
LEA EAX,[EBX + 0xfffaf4a8]
PUSH EAX
CALL 0x00071090
MOV dword ptr [ESP + 0x40],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000d0dea
SUB ESP,0xc
PUSH 0x0
PUSH dword ptr [ESP + 0x34]
PUSH -0x1
PUSH dword ptr [ESP + 0x48]
MOV EAX,dword ptr [ESP + 0x1c]
PUSH dword ptr [EAX + 0xc]
CALL 0x000c1ed0
ADD ESP,0x20
MOV ESI,EAX
TEST EAX,EAX
JZ 0x000d103f
CMP EAX,0x17
JZ 0x000d107f
SUB ESP,0xc
PUSH dword ptr [ESP + 0x3c]
CALL 0x00024cc0
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x80],ESI
MOV EDI,dword ptr [EAX + 0xf0]
LEA EDX,[EDI + -0x23]
MOV dword ptr [ESP + 0x1c],EDI
ADD ESP,0x10
MOV dword ptr [EAX + 0xe4],EDX
TEST ESI,ESI
JNZ 0x000d0ab0
MOV EDI,dword ptr [ESP]
LEA EAX,[EBX + 0xfffaf3b4]
MOV ECX,dword ptr [EDI + 0x2c]
TEST ECX,ECX
CMOVNZ EAX,ECX
SUB ESP,0x4
MOV dword ptr [ESP + 0x10],EAX
PUSH 0x1
PUSH 0x1
PUSH dword ptr [EDI + 0xc]
CALL 0x00051290
POP EAX
MOV EAX,dword ptr [EDI + 0x1c]
POP EDX
PUSH dword ptr [EAX]
LEA EAX,[EBX + 0xfffaf4a3]
PUSH EAX
CALL 0x00071090
ADD ESP,0x10
MOV EBP,EAX
TEST EAX,EAX
JZ 0x000d04d3
CMP dword ptr [EDI + 0x18],0x1
MOV ECX,EDI
JLE 0x000d0da6
MOV EDI,0x1
LEA ESI,[EBX + 0xfffaf4a1]
MOV EBP,ECX
JMP 0x000d04b9
CMP EDI,dword ptr [EBP + 0x18]
JGE 0x000d0da4
MOV EDX,dword ptr [EBP + 0x1c]
SUB ESP,0x4
PUSH dword ptr [EDX + EDI*0x4]
ADD EDI,0x1
PUSH EAX
PUSH ESI
CALL 0x00071090
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000d04b0
PUSH dword ptr [ESP + 0xc]
MOV EAX,dword ptr [ESP + 0x4]
XOR EBP,EBP
MOV EDI,0x7
PUSH dword ptr [EAX + 0x14]
LEA EAX,[EBX + 0xfffbdaf0]
PUSH 0x0
PUSH EAX
CALL 0x00071090
ADD ESP,0x10
MOV ESI,EAX
SUB ESP,0xc
PUSH ESI
CALL 0x00024cc0
MOV dword ptr [ESP],EBP
CALL 0x00024cc0
MOV dword ptr [ESP + 0x80],EDI
ADD ESP,0x10
MOV dword ptr [ESP + 0x40],0x0
MOV dword ptr [ESP + 0x30],0x0
JMP 0x000cfaef
MOV dword ptr [ESP + 0x68],0x0
XOR EBP,EBP
MOV dword ptr [ESP + 0x34],0x0
MOV dword ptr [ESP + 0x30],0x0
MOV dword ptr [ESP + 0x40],0x0
MOV dword ptr [ESP + 0x2c],0x0
MOV dword ptr [ESP + 0x6c],0x0
MOV dword ptr [ESP + 0xc],0x0
MOV dword ptr [ESP + 0x3c],0x0
MOV dword ptr [ESP + 0x38],0x0
LEA ESI,[ESI]
TEST EAX,EAX
JNZ 0x000d0998
TEST EBP,EBP
JNZ 0x000cfd54
MOV ECX,dword ptr [ESP + 0x10]
LEA EAX,[EBX + 0xfffaf3ac]
MOV EBP,0x1
MOV dword ptr [ESP + 0xc],0x8
MOV dword ptr [ECX],EAX
MOV EAX,dword ptr [ESP + 0x74]
MOV dword ptr [ESP],EAX
TEST EAX,EAX
JNZ 0x000cfd63
LEA ECX,[ESP + 0x74]
SUB ESP,0xc
LEA EDX,[EBX + 0xfffaf28d]
PUSH dword ptr [ESP + 0x50]
MOV EAX,dword ptr [ESP + 0x30]
CALL 0x00076a00
MOV dword ptr [ESP + 0x80],EAX
ADD ESP,0x10
MOV dword ptr [ESP + 0x20],0x0
TEST EAX,EAX
JZ 0x000cfd63
JMP 0x000cfaef
XOR ECX,ECX
MOV dword ptr [ESP + 0x60],EBP
MOV EAX,0x9
MOV EBP,dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x64],ESI
MOV ESI,EDI
MOV EDI,ECX
MOV dword ptr [ESP + 0x28],EDX
JMP 0x000d061f
ADD EDI,0x1
CMP EDI,0x8
JZ 0x000d0688
MOV EAX,dword ptr [ESP + EDI*0x8 + 0x80]
CMP EBP,EAX
JNZ 0x000d0610
SUB ESP,0x4
PUSH EBP
PUSH dword ptr [ESP + EDI*0x8 + 0x84]
PUSH ESI
CALL 0x00028130
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000d0610
MOV EBP,dword ptr [ESP + 0x60]
MOV EDX,dword ptr [ESP + 0x28]
MOV ESI,dword ptr [ESP + 0x64]
CMP EDI,0x7
JA 0x000d0d3f
MOV EAX,dword ptr [EBX + EDI*0x4 + 0xfffb2cec]
ADD EAX,EBX
JMP EAX
MOV EDX,dword ptr [ESP + 0x74]
TEST EDX,EDX
JZ 0x000cfb89
SUB ESP,0xc
MOV EAX,dword ptr [EDX]
PUSH EDX
CALL dword ptr [EAX + 0x8]
MOV EAX,dword ptr [ESP + 0x80]
ADD ESP,0x10
JMP 0x000cfb89
MOV EBP,dword ptr [ESP + 0x60]
MOV EDI,ESI
SUB ESP,0x4
MOV ESI,dword ptr [ESP + 0x68]
LEA EAX,[EBX + 0xfffaf40e]
PUSH EDI
PUSH EAX
PUSH dword ptr [ESP + 0x50]
CALL 0x00071050
MOV dword ptr [ESP + 0x80],0x1
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x28]
SUB ESP,0xc
PUSH EDX
CALL 0x00024cc0
MOV EAX,dword ptr [ESP + 0x80]
ADD ESP,0x10
MOVZX EDX,byte ptr [ESP]
TEST EAX,EAX
SETZ CL
AND EDX,ECX
JMP 0x000cfa0c
SUB ESP,0x8
PUSH 0x0
PUSH 0x18
CALL 0x0003f0c0
MOV dword ptr [ESP + 0x30],EAX
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000d0e86
MOV dword ptr [ESP + 0x70],0x7
MOV dword ptr [ESP + 0x20],0x0
MOV dword ptr [ESP],0x0
JMP 0x000cfaef
SUB ESP,0xc
PUSH dword ptr [ESP + 0x1c]
CALL 0x00024cc0
MOV dword ptr [ESP + 0x88],0x0
ADD ESP,0xc
PUSH dword ptr [ESP + 0x34]
MOV EAX,dword ptr [ESP + 0x1c]
PUSH dword ptr [EAX + 0x4]
LEA EAX,[EBX + 0xfffaefba]
PUSH EAX
CALL 0x00071090
MOV dword ptr [ESP + 0x10],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000d0bc1
SUB ESP,0xc
PUSH 0x0
LEA EAX,[ESP + 0x88]
PUSH EAX
PUSH -0x1
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x70]
CALL 0x000c1ed0
ADD ESP,0x20
MOV EDI,EAX
TEST EAX,EAX
JNZ 0x000d0e26
SUB ESP,0xc
XOR ESI,ESI
PUSH dword ptr [ESP + 0xc]
CALL 0x00024cc0
POP EDX
PUSH dword ptr [ESP + 0x84]
CALL 0x0001bb40
ADD ESP,0x10
MOV EBP,EAX
MOV dword ptr [ESP],0x0
MOV dword ptr [ESP + 0x4],0x0
TEST EAX,EAX
JLE 0x000d10f8
MOV dword ptr [ESP],EBP
XOR EBP,EBP
MOV dword ptr [ESP + 0xc],EDI
XOR EDI,EDI
LEA ESI,[ESI]
SUB ESP,0x8
PUSH ESI
PUSH dword ptr [ESP + 0x84]
CALL 0x0003ac60
MOV dword ptr [ESP],EAX
CALL 0x00014230
XOR EDX,EDX
ADD ESP,0x10
ADD EAX,0x1
ADD EDI,EAX
ADC EBP,EDX
ADD ESI,0x1
CMP dword ptr [ESP],ESI
JNZ 0x000d07c8
MOV EDX,EBP
MOV EBP,dword ptr [ESP]
MOV EAX,EDI
SUB ESP,0x8
MOV EDI,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x8],EAX
MOV dword ptr [ESP + 0xc],EDX
LEA ESI,[EBP*0x4 + 0x0]
XOR EDX,EDX
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,ESI
ADD EAX,dword ptr [ESP + 0x8]
ADC EDX,dword ptr [ESP + 0xc]
PUSH EDX
PUSH EAX
CALL 0x0003f0c0
MOV dword ptr [ESP + 0x20],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000d1187
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x24],EBP
MOV dword ptr [ESP + 0x38],EDI
ADD EAX,ESI
XOR ESI,ESI
MOV dword ptr [ESP + 0x28],EAX
MOV EDI,EAX
LEA ESI,[ESI]
SUB ESP,0x8
PUSH ESI
PUSH dword ptr [ESP + 0x84]
CALL 0x0003ac60
MOV dword ptr [ESP],EAX
MOV dword ptr [ESP + 0x10],EAX
CALL 0x00014230
ADD ESP,0xc
LEA EBP,[EAX + 0x1]
PUSH EBP
MOV ECX,dword ptr [ESP + 0x8]
PUSH ECX
PUSH EDI
CALL 0x000140d0
MOV EAX,dword ptr [ESP + 0x20]
ADD ESP,0x10
MOV dword ptr [EAX + ESI*0x4],EDI
ADD EDI,EBP
ADD ESI,0x1
CMP dword ptr [ESP + 0x24],ESI
JNZ 0x000d0850
MOV EBP,dword ptr [ESP + 0x24]
MOV EDI,dword ptr [ESP + 0x38]
SUB ESP,0xc
PUSH dword ptr [ESP + 0x84]
CALL 0x00089c20
MOV dword ptr [ESP + 0x80],0x0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x40]
TEST EAX,EAX
JZ 0x000d1165
MOV ESI,EDI
MOV EDI,dword ptr [ESP + 0x40]
JMP 0x000d08db
ADD ESI,0x1
CMP ESI,EBP
JZ 0x000cfd38
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x18]
PUSH dword ptr [EAX + ESI*0x4]
PUSH EDI
CALL 0x00027b40
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000d08d0
MOV EAX,dword ptr [ESP + 0x10]
MOV ECX,dword ptr [ESP + 0x28]
LEA EAX,[EAX + ESI*0x4]
CMP EBP,ESI
JLE 0x000d0915
LEA ESI,[ESI]
MOV EDX,dword ptr [EAX + 0x4]
ADD EAX,0x4
MOV dword ptr [EAX + -0x4],EDX
CMP ECX,EAX
JNZ 0x000d0908
SUB EBP,0x1
MOV EAX,dword ptr [ESP + 0x70]
MOV dword ptr [ESP + 0x3c],0x0
MOV dword ptr [ESP + 0x38],0x0
JMP 0x000d0578
SUB dword ptr [ESP + 0x28],0x1
JMP 0x000cfe51
CMP ESI,EBP
JNZ 0x000d0938
MOV EBP,dword ptr [ESP + 0x5c]
LEA EAX,[EBX + 0xfffbdb28]
SUB ESP,0x4
MOV dword ptr [ESP + 0x74],0x1
PUSH dword ptr [ESP + 0x38]
PUSH EAX
PUSH dword ptr [ESP + 0x50]
CALL 0x00071050
MOV EAX,dword ptr [ESP + 0x80]
MOV dword ptr [ESP + 0x38],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000d1158
MOV dword ptr [ESP],0x0
JMP 0x000cfaef
MOV dword ptr [ESP + 0x20],0x0
MOV dword ptr [ESP],0x0
JMP 0x000cfaef
SUB ESP,0x8
PUSH 0x0
PUSH 0x18
CALL 0x0003f0c0
MOV dword ptr [ESP + 0x30],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000d06fb
MOV EAX,dword ptr [ESP + 0x20]
XOR ESI,ESI
LEA ECX,[EAX + 0x4]
MOV dword ptr [EAX],0x0
AND ECX,0xfffffffc
MOV dword ptr [EAX + 0x14],0x0
SUB EAX,ECX
MOV EDX,EAX
XOR EAX,EAX
ADD EDX,0x18
AND EDX,0xfffffffc
MOV dword ptr [ECX + EAX*0x1],ESI
ADD EAX,0x4
CMP EAX,EDX
JC 0x000d09f0
MOV dword ptr [ESP + 0x70],0x0
MOV EAX,0x6
MOV dword ptr [ESP + 0x5c],0x1
MOV dword ptr [ESP + 0x28],0x1
JMP 0x000cfe77
MOV EAX,EDI
MOV dword ptr [ESP + 0x78],0x0
MOV EDI,dword ptr [EDI + 0xc]
MOV ECX,dword ptr [EAX + 0x28]
TEST ECX,ECX
JZ 0x000d0f9f
SUB ESP,0xc
LEA EAX,[EBX + 0xfffbd9c8]
MOV ESI,dword ptr [ESP + 0xc]
PUSH dword ptr [ESI + 0x14]
PUSH dword ptr [ESI + 0x10]
PUSH EAX
PUSH EDI
MOV EBP,dword ptr [ESP + 0x40]
PUSH EBP
CALL 0x000c9d20
ADD ESP,0x14
LEA EAX,[EBX + 0xfffbda10]
PUSH dword ptr [ESI + 0x14]
PUSH dword ptr [ESI + 0x10]
PUSH EAX
PUSH EDI
PUSH EBP
CALL 0x000c9d20
ADD ESP,0x20
CMP byte ptr [ESI + 0xea],0x0
JNZ 0x000d0f11
MOV EAX,dword ptr [ESP]
CMP byte ptr [EAX + 0xe9],0x0
JNZ 0x000d0f01
MOV EAX,dword ptr [ESP + 0x78]
MOV dword ptr [ESP + 0x70],EAX
TEST EAX,EAX
JZ 0x000d03ca
MOV EDI,dword ptr [ESP]
MOV EAX,dword ptr [EDI + 0xf0]
MOV dword ptr [ESP + 0xc],EAX
SUB EAX,0x23
MOV dword ptr [EDI + 0xe4],EAX
MOV dword ptr [ESP + 0x40],0x0
MOV dword ptr [ESP + 0x30],0x0
JMP 0x000cfaef
MOV dword ptr [ESP + 0x14],0x0
LEA ESI,[EBX + 0xfffac22b]
JMP 0x000d0309
MOV EAX,dword ptr [ESP + 0x3c]
TEST EAX,EAX
JZ 0x000d0bfe
CALL 0x00041e40
MOV dword ptr [ESP + 0x28],EAX
MOV dword ptr [ESP + 0xc],EAX
SUB ESP,0x4
LEA EAX,[EBX + 0xfffaf429]
XOR EBP,EBP
PUSH EAX
LEA ESI,[EBX + 0xfffaf42f]
PUSH dword ptr [ESP + 0x2c]
LEA EDI,[ESP + 0x7c]
PUSH EDI
CALL 0x00076c30
ADD ESP,0x10
MOV EAX,dword ptr [ESP]
MOV EAX,dword ptr [EAX + 0x18]
TEST EAX,EAX
JLE 0x000d0b4f
MOV dword ptr [ESP + 0x14],ESI
MOV ESI,dword ptr [ESP]
LEA ESI,[ESI]
MOV ECX,dword ptr [ESI + 0x1c]
SUB ESP,0x8
PUSH dword ptr [ECX + EBP*0x4]
PUSH EBP
ADD EBP,0x1
PUSH dword ptr [ESP + 0x1c]
PUSH dword ptr [ESP + 0x28]
PUSH dword ptr [ESP + 0x3c]
PUSH EDI
CALL 0x00076c30
ADD ESP,0x20
CMP EBP,dword ptr [ESI + 0x18]
JL 0x000d0b28
MOV EAX,dword ptr [ESP]
MOV EAX,dword ptr [EAX + 0x2c]
TEST EAX,EAX
JZ 0x000d0b74
LEA EAX,[EBX + 0xfffaf49a]
PUSH EAX
LEA EAX,[EBX + 0xfffaf43e]
PUSH EAX
PUSH dword ptr [ESP + 0x2c]
PUSH EDI
CALL 0x00076c30
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [ESP + 0x34]
CALL 0x00024cc0
ADD ESP,0x10
JMP 0x000d02a6
MOV dword ptr [ESP + 0x70],0x7
JMP 0x000cfaef
MOV EAX,EDI
MOV dword ptr [ESP + 0x28],0x0
JMP 0x000cfc0b
MOV dword ptr [ESP + 0x20],0x0
MOV dword ptr [ESP + 0x3c],0x0
MOV dword ptr [ESP + 0x38],0x0
JMP 0x000d0985
SUB ESP,0xc
PUSH 0x0
CALL 0x00024cc0
MOV dword ptr [ESP + 0x80],0x7
ADD ESP,0x10
MOV dword ptr [ESP + 0x20],0x0
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0x3c],0x0
MOV dword ptr [ESP + 0x38],0x0
JMP 0x000cfaef
LEA EAX,[EBX + 0xfffac22b]
MOV dword ptr [ESP + 0x28],0x0
MOV dword ptr [ESP + 0xc],EAX
JMP 0x000d0af1
SUB ESP,0xc
PUSH EDX
MOV dword ptr [ESP + 0x38],EDX
CALL 0x00014230
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x28]
CMP EAX,0x4
JZ 0x000d0ecf
SUB ESP,0x4
LEA EAX,[EBX + 0xfffaf3d3]
PUSH EDX
MOV dword ptr [ESP + 0x30],EDX
PUSH EAX
PUSH dword ptr [ESP + 0x50]
CALL 0x00071050
MOV dword ptr [ESP + 0x80],0x1
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x68],0x1
JMP 0x000d06b8
MOV EAX,dword ptr [ESP]
LEA EDX,[EBX + 0xfffaf3ab]
MOV EAX,dword ptr [EAX + 0x14]
JMP 0x000d02ba
MOV EBP,EAX
PUSH dword ptr [ESP + 0xc]
MOV EAX,dword ptr [ESP + 0x4]
MOV EDI,0x7
PUSH dword ptr [EAX + 0x14]
LEA EAX,[EBX + 0xfffbdaf0]
PUSH EBP
PUSH EAX
CALL 0x00071090
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x000d04f8
SUB ESP,0x8
PUSH EAX
MOV EAX,dword ptr [ESP + 0xc]
PUSH dword ptr [EAX + 0xc]
CALL 0x000c6db0
ADD ESP,0x10
MOV EDI,EAX
JMP 0x000d04f8
SUB ESP,0xc
PUSH 0x0
CALL 0x00024cc0
MOV EDI,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x80],0x7
MOV EAX,dword ptr [EDI + 0xf0]
MOV dword ptr [ESP + 0x1c],EAX
SUB EAX,0x23
ADD ESP,0x10
MOV dword ptr [EDI + 0xe4],EAX
MOV dword ptr [ESP + 0x40],0x0
JMP 0x000cfaef
SUB ESP,0xc
PUSH dword ptr [ESP + 0x60]
CALL 0x00055cc0
ADD ESP,0xc
PUSH EAX
LEA EAX,[EBX + 0xfffade0f]
PUSH EAX
PUSH dword ptr [ESP + 0x50]
CALL 0x00071050
POP EAX
PUSH dword ptr [ESP + 0xc]
CALL 0x00024cc0
MOV dword ptr [ESP + 0x80],EDI
ADD ESP,0x10
MOV dword ptr [ESP + 0x20],0x0
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0x3c],0x0
MOV dword ptr [ESP + 0x38],0x0
MOV dword ptr [ESP],0x0
JMP 0x000cfaef
MOV EAX,dword ptr [ESP + 0x20]
XOR ESI,ESI
LEA ECX,[EAX + 0x4]
MOV dword ptr [EAX],0x0
AND ECX,0xfffffffc
MOV dword ptr [EAX + 0x14],0x0
SUB EAX,ECX
MOV EDX,EAX
XOR EAX,EAX
ADD EDX,0x18
AND EDX,0xfffffffc
MOV dword ptr [ECX + EAX*0x1],ESI
ADD EAX,0x4
CMP EAX,EDX
JC 0x000d0eab
MOV EAX,0x6
MOV dword ptr [ESP + 0x5c],0x1
MOV dword ptr [ESP + 0x28],0x1
JMP 0x000cfe6f
SUB ESP,0x4
LEA EAX,[EBX + 0xfffaf766]
PUSH 0x4
PUSH EAX
PUSH EDX
MOV dword ptr [ESP + 0x38],EDX
CALL 0x00028130
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x28]
TEST EAX,EAX
JNZ 0x000d0d5c
MOV dword ptr [ESP + 0x68],0x1
JMP 0x000d06b8
MOV EDX,EAX
MOV EAX,dword ptr [ESP + 0x24]
CALL 0x000c9d90
JMP 0x000d0a8a
SUB ESP,0xc
MOV EAX,dword ptr [ESP + 0xc]
PUSH dword ptr [EAX + 0x14]
PUSH dword ptr [EAX + 0x10]
LEA EAX,[EBX + 0xfffbdaac]
PUSH EAX
PUSH EDI
PUSH dword ptr [ESP + 0x40]
CALL 0x000c9d20
ADD ESP,0x20
JMP 0x000d0a7a
MOV EAX,dword ptr [EAX + 0x2c]
SUB ESP,0xc
MOV dword ptr [ESP + 0x18],EAX
LEA EAX,[EBX + 0xfffaf470]
PUSH EAX
CALL 0x00071090
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000d0ffd
MOV ECX,dword ptr [ESP]
MOV EDX,dword ptr [ECX + 0x18]
TEST EDX,EDX
JLE 0x000d10c2
MOV dword ptr [ESP + 0x14],EDI
LEA ESI,[EBX + 0xfffaf48a]
MOV EDI,ECX
JMP 0x000d0fe1
CMP EBP,dword ptr [EDI + 0x18]
JGE 0x000d10be
MOV ECX,dword ptr [EDI + 0x1c]
PUSH dword ptr [ECX + EBP*0x4]
PUSH EBP
ADD EBP,0x1
PUSH EAX
PUSH ESI
CALL 0x00071090
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000d0fd8
MOV EDI,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x78],0x7
XOR EAX,EAX
SUB ESP,0x8
LEA EDX,[EBX + 0xfffbd9a4]
PUSH EAX
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [ESP + 0xc]
PUSH dword ptr [EAX + 0x14]
PUSH dword ptr [EAX + 0x10]
PUSH EDX
PUSH EDI
PUSH dword ptr [ESP + 0x40]
CALL 0x000c9d20
ADD ESP,0x14
MOV EAX,dword ptr [ESP + 0x18]
PUSH EAX
CALL 0x00024cc0
ADD ESP,0x10
JMP 0x000d0a34
SUB ESP,0xc
PUSH dword ptr [ESP + 0x84]
CALL 0x000accc0
POP ECX
POP ESI
PUSH 0x0
PUSH dword ptr [ESP + 0x84]
CALL 0x000384a0
MOV ECX,dword ptr [ESP + 0x10]
MOV dword ptr [ECX + 0xf0],EAX
POP EDI
PUSH dword ptr [ESP + 0x84]
CALL 0x00089c20
ADD ESP,0x10
MOV ESI,EAX
JMP 0x000d0420
MOV EDI,dword ptr [ESP]
SUB ESP,0xc
MOV dword ptr [EDI + 0xf0],0x400
PUSH dword ptr [ESP + 0x3c]
CALL 0x00024cc0
MOV EAX,dword ptr [EDI + 0xf0]
MOV dword ptr [ESP + 0x80],0x0
MOV dword ptr [ESP + 0x1c],EAX
SUB EAX,0x23
ADD ESP,0x10
MOV dword ptr [EDI + 0xe4],EAX
JMP 0x000d0455
MOV EDI,dword ptr [ESP + 0x14]
MOV ECX,dword ptr [ESP + 0xc]
TEST ECX,ECX
JZ 0x000d1007
SUB ESP,0x4
PUSH dword ptr [ESP + 0x10]
PUSH EAX
LEA EAX,[EBX + 0xfffaf496]
PUSH EAX
CALL 0x00071090
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000d1007
JMP 0x000d0ffd
SUB ESP,0x8
LEA EAX,[EBP*0x4 + 0x0]
XOR EDX,EDX
PUSH EDX
PUSH EAX
CALL 0x0003f0c0
MOV dword ptr [ESP + 0x20],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000d1187
SUB ESP,0xc
PUSH dword ptr [ESP + 0x84]
CALL 0x00089c20
MOV dword ptr [ESP + 0x80],0x0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x40]
TEST EAX,EAX
JZ 0x000d1169
MOV dword ptr [ESP + 0xc],0x0
MOV dword ptr [ESP + 0x3c],0x0
MOV dword ptr [ESP + 0x38],0x0
JMP 0x000d0580
MOV dword ptr [ESP + 0x5c],0x0
JMP 0x000cfe77
MOV EDI,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0xc],EDI
MOV dword ptr [ESP + 0x3c],0x0
MOV dword ptr [ESP + 0x38],0x0
JMP 0x000d0580
CALL 0x000f4bf0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x84]
CALL 0x00089c20
MOV dword ptr [ESP + 0x80],0x7
JMP 0x000d0e57
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nsize_t __regparm2\nFUN_000cf860(int param_1,undefined4 param_2,int param_3,int *param_4,undefined4 *param_5,\n            undefined4 param_6)\n\n{\n  char cVar1;\n  char cVar2;\n  byte bVar3;\n  byte bVar4;\n  size_t sVar5;\n  size_t sVar6;\n  size_t sVar7;\n  int iVar8;\n  char *pcVar9;\n  void *pvVar10;\n  size_t sVar11;\n  undefined *puVar12;\n  char *pcVar13;\n  undefined4 *puVar14;\n  uint uVar15;\n  size_t *psVar16;\n  undefined4 uVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  int iVar21;\n  int *piVar22;\n  int iVar23;\n  void *pvVar24;\n  int *piVar25;\n  int iVar26;\n  undefined4 *puVar27;\n  int in_GS_OFFSET;\n  bool bVar28;\n  bool bVar29;\n  size_t *psVar30;\n  void *local_dc;\n  undefined *local_d0;\n  undefined4 *local_cc;\n  undefined *local_c8;\n  int *local_c0;\n  undefined4 *local_bc;\n  int local_b8;\n  undefined *local_b4;\n  int local_b0;\n  byte *local_ac;\n  byte *local_a8;\n  byte *local_a4;\n  byte *local_a0;\n  byte *local_9c;\n  size_t local_80;\n  size_t local_6c;\n  int *local_68;\n  size_t local_64;\n  char *local_60;\n  int local_5c;\n  char *local_58;\n  int local_54;\n  char *local_50;\n  undefined4 local_4c;\n  char *local_48;\n  undefined4 local_44;\n  char *local_40;\n  undefined4 local_3c;\n  char *local_38;\n  undefined4 local_34;\n  char *local_30;\n  undefined4 local_2c;\n  char *local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xcf86b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_6c = 0;\n  cVar1 = *(char *)(*param_4 + 3);\n  local_68 = (int *)0x0;\n  sVar5 = strlen((char *)param_4[1]);\n  sVar6 = strlen((char *)param_4[2]);\n  sVar7 = param_3 * 4 - 8;\n  local_cc = (undefined4 *)FUN_0003f0c0(sVar7,0);\n  if (local_cc != (undefined4 *)0x0) {\n    memset(local_cc,0,sVar7);\n    local_c0 = (int *)FUN_0003f0c0(sVar7,0);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }\n  local_6c = 7;\n  local_c0 = (int *)0x0;\n  local_bc = (undefined4 *)0x0;\n  local_b0 = 0;\n  local_9c = (byte *)0x0;\n  local_ac = (byte *)0x0;\n  local_a0 = (byte *)0x0;\n  local_a4 = (byte *)0x0;\n  local_a8 = (byte *)0x0;\n  local_dc = (void *)0x0;\n  goto LAB_000cfaef;\nLAB_000d0688:\n  FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13);\n  local_6c = 1;\nLAB_000d06b8:\n  FUN_00024cc0(pbVar20);\nLAB_000cfa0c:\n  bVar28 = local_6c == 0;\n  if (param_3 <= iVar23 || !bVar28) goto LAB_000cfd03;\n  goto LAB_000cfa14;\nLAB_000d08d0:\n  iVar23 = iVar23 + 1;\n  if (iVar23 == iVar21) goto LAB_000cfd38;\n  goto LAB_000d08db;\nLAB_000cfd03:\n  if ((local_ac == (byte *)0x0) || (!bVar28)) {\nLAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }\n  FUN_00024cc0(local_a4);\n  FUN_00024cc0(local_a0);\n  if (iVar21 == 0) {\n    FUN_00024cc0(local_cc);\n    local_64 = 0;\n    iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);\n    if (sVar7 != 0) {\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    FUN_00024cc0(iVar21);\n    iVar21 = FUN_0001bb40(local_64);\n    if (iVar21 < 1) {\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }\n  }\n  else {\nLAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    local_6c = 0;\n  }\n  if (local_68 == (int *)0x0) {\n    local_6c = FUN_00076a00(param_6);\n    local_bc = (undefined4 *)0x0;\n    if (local_6c != 0) {\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n  }\n  if (local_a8 == (byte *)0x0) {\n    local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar15 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    local_6c = 0;\n    iVar23 = 6;\n    local_80 = 1;\n    local_b4 = (undefined *)0x1;\n  }\n  else {\n    bVar4 = *local_a8;\n    if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }\n    local_6c = 0;\n    local_b4 = (undefined *)local_80;\n  }\nLAB_000cfe77:\n  sVar5 = sVar5 + 1;\n  sVar6 = sVar6 + 1;\n  sVar7 = sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c;\n  local_dc = (void *)FUN_0003f0c0(sVar7,0);\n  if (local_dc == (void *)0x0) {\n    local_6c = 7;\n    goto LAB_000cfaef;\n  }\n  bVar28 = cVar1 == '4';\n  memset(local_dc,0,sVar7);\n  *(int *)((int)local_dc + 0x18) = iVar21;\n  *(undefined4 *)((int)local_dc + 0x30) = 0xff;\n  *(int **)((int)local_dc + 0x24) = local_68;\n  *(undefined4 *)((int)local_dc + 0xc) = param_2;\n  *(int *)((int)local_dc + 0x1c) = (int)local_dc + 0x11c;\n  *(bool *)((int)local_dc + 0xe9) = bVar28;\n  *(bool *)((int)local_dc + 0xe8) = bVar28;\n  *(byte *)((int)local_dc + 0xea) = (bVar3 ^ 1) & bVar28;\n  *(bool *)((int)local_dc + 0xeb) = bVar29;\n  *(undefined4 *)((int)local_dc + 0x108) = 0;\n  *(undefined4 *)((int)local_dc + 0x104) = 0x100000;\n  *(byte **)((int)local_dc + 0x28) = local_ac;\n  *(byte **)((int)local_dc + 0x2c) = local_9c;\n  pvVar10 = (void *)((int)local_dc + 0x11c + iVar21 * 4);\n  *(void **)((int)local_dc + 0x100) = pvVar10;\n  memcpy(pvVar10,local_bc,local_80 * 0x18);\n  sVar7 = 0;\n  *(undefined **)((int)local_dc + 0xfc) = local_b4;\n  if (local_b4 != (undefined *)0x0) {\n    do {\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    } while (local_b4 != (undefined *)sVar11);\n  }\n  iVar23 = local_80 * 0x18 + *(int *)((int)local_dc + 0x100);\n  *(int *)((int)local_dc + 0x20) = iVar23;\n  pvVar10 = (void *)(iVar23 + iVar21);\n  *(void **)((int)local_dc + 0x14) = pvVar10;\n  pvVar24 = (void *)((int)pvVar10 + sVar6);\n  memcpy(pvVar10,(void *)param_4[2],sVar6);\n  *(void **)((int)local_dc + 0x10) = pvVar24;\n  pvVar10 = (void *)((int)pvVar24 + sVar5);\n  iVar23 = 0;\n  memcpy(pvVar24,(void *)param_4[1],sVar5);\n  if (0 < iVar21) {\n    do {\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    } while (iVar21 * 4 != iVar23);\n    local_c8 = (undefined *)0x0;\n    do {\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    } while (local_c8 != (undefined *)iVar21);\n  }\n  piVar22 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    } while (local_c0 + local_b0 != piVar22);\n  }\n  if ((local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {\n    local_6c = 1;\n    pcVar13 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar13 = "compress";\n    }\n    FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);\n  }\n  local_64 = 0;\n  if (*(int *)((int)local_dc + 0x28) == 0) {\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }\n    else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }\n    iVar21 = 0;\n    FUN_00076c30(&local_6c,&local_64,"docid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }\n    FUN_00024cc0(local_b4);\n  }\n  else {\n    FUN_00076c30(&local_6c,&local_64,"rowid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }\n  }\n  iVar21 = *(int *)((int)local_dc + 0x28);\n  if (iVar21 == 0) {\n    pcVar13 = "_content";\n    iVar21 = *(int *)((int)local_dc + 0x14);\n  }\n  else {\n    pcVar13 = "";\n  }\n  FUN_00076c30(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",\n               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13);\n  *(size_t *)((int)local_dc + 0xdc) = local_64;\n  local_64 = 0;\n  if (local_a4 == (byte *)0x0) {\n    local_c8 = (undefined *)0x0;\n    puVar12 = &DAT_000f50ff;\n  }\n  else {\n    puVar12 = (undefined *)FUN_00041e40();\n    local_c8 = puVar12;\n  }\n  iVar21 = 0;\n  psVar30 = &local_64;\n  FUN_00076c30(&local_6c,&local_64,&DAT_000f8342);\n  if (0 < *(int *)((int)local_dc + 0x18)) {\n    do {\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    } while (iVar21 < *(int *)((int)local_dc + 0x18));\n  }\n  if (*(int *)((int)local_dc + 0x2c) != 0) {\n    psVar30 = &local_64;\n    FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);\n  }\n  FUN_00024cc0(local_c8);\n  *(size_t *)((int)local_dc + 0xe0) = local_64;\n  if (local_6c == 0) {\n    if (param_1 == 0) {\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }\n    else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);\n    if (sVar7 == 0) {\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }\n    pcVar13 = "__langid";\n    if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }\n    FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);\n    iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));\n    if (iVar21 == 0) {\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }\n    else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }\n    FUN_00024cc0(iVar23);\n    FUN_00024cc0(iVar21);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    local_6c = sVar7;\n  }\n  else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }\nLAB_000cfaef:\n  FUN_00024cc0(local_a8);\n  FUN_00024cc0(local_bc);\n  FUN_00024cc0(local_a4);\n  FUN_00024cc0(local_a0);\n  FUN_00024cc0(local_ac);\n  FUN_00024cc0(local_9c);\n  piVar22 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    } while (local_c0 + local_b0 != piVar25);\n  }\n  FUN_00024cc0(local_cc);\n  FUN_00024cc0(local_c0);\n  if (local_6c == 0) {\n    *param_5 = local_dc;\n  }\n  else if (local_dc == (void *)0x0) {\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }\n  else {\n    FUN_0008cf60(local_dc);\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_6c;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000f4bf0();\n}\n\n" comment (function_definition "size_t __regparm2\nFUN_000cf860(int param_1,undefined4 param_2,int param_3,int *param_4,undefined4 *param_5,\n            undefined4 param_6)\n\n{\n  char cVar1;\n  char cVar2;\n  byte bVar3;\n  byte bVar4;\n  size_t sVar5;\n  size_t sVar6;\n  size_t sVar7;\n  int iVar8;\n  char *pcVar9;\n  void *pvVar10;\n  size_t sVar11;\n  undefined *puVar12;\n  char *pcVar13;\n  undefined4 *puVar14;\n  uint uVar15;\n  size_t *psVar16;\n  undefined4 uVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  int iVar21;\n  int *piVar22;\n  int iVar23;\n  void *pvVar24;\n  int *piVar25;\n  int iVar26;\n  undefined4 *puVar27;\n  int in_GS_OFFSET;\n  bool bVar28;\n  bool bVar29;\n  size_t *psVar30;\n  void *local_dc;\n  undefined *local_d0;\n  undefined4 *local_cc;\n  undefined *local_c8;\n  int *local_c0;\n  undefined4 *local_bc;\n  int local_b8;\n  undefined *local_b4;\n  int local_b0;\n  byte *local_ac;\n  byte *local_a8;\n  byte *local_a4;\n  byte *local_a0;\n  byte *local_9c;\n  size_t local_80;\n  size_t local_6c;\n  int *local_68;\n  size_t local_64;\n  char *local_60;\n  int local_5c;\n  char *local_58;\n  int local_54;\n  char *local_50;\n  undefined4 local_4c;\n  char *local_48;\n  undefined4 local_44;\n  char *local_40;\n  undefined4 local_3c;\n  char *local_38;\n  undefined4 local_34;\n  char *local_30;\n  undefined4 local_2c;\n  char *local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xcf86b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_6c = 0;\n  cVar1 = *(char *)(*param_4 + 3);\n  local_68 = (int *)0x0;\n  sVar5 = strlen((char *)param_4[1]);\n  sVar6 = strlen((char *)param_4[2]);\n  sVar7 = param_3 * 4 - 8;\n  local_cc = (undefined4 *)FUN_0003f0c0(sVar7,0);\n  if (local_cc != (undefined4 *)0x0) {\n    memset(local_cc,0,sVar7);\n    local_c0 = (int *)FUN_0003f0c0(sVar7,0);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }\n  local_6c = 7;\n  local_c0 = (int *)0x0;\n  local_bc = (undefined4 *)0x0;\n  local_b0 = 0;\n  local_9c = (byte *)0x0;\n  local_ac = (byte *)0x0;\n  local_a0 = (byte *)0x0;\n  local_a4 = (byte *)0x0;\n  local_a8 = (byte *)0x0;\n  local_dc = (void *)0x0;\n  goto LAB_000cfaef;\nLAB_000d0688:\n  FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13);\n  local_6c = 1;\nLAB_000d06b8:\n  FUN_00024cc0(pbVar20);\nLAB_000cfa0c:\n  bVar28 = local_6c == 0;\n  if (param_3 <= iVar23 || !bVar28) goto LAB_000cfd03;\n  goto LAB_000cfa14;\nLAB_000d08d0:\n  iVar23 = iVar23 + 1;\n  if (iVar23 == iVar21) goto LAB_000cfd38;\n  goto LAB_000d08db;\nLAB_000cfd03:\n  if ((local_ac == (byte *)0x0) || (!bVar28)) {\nLAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }\n  FUN_00024cc0(local_a4);\n  FUN_00024cc0(local_a0);\n  if (iVar21 == 0) {\n    FUN_00024cc0(local_cc);\n    local_64 = 0;\n    iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);\n    if (sVar7 != 0) {\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    FUN_00024cc0(iVar21);\n    iVar21 = FUN_0001bb40(local_64);\n    if (iVar21 < 1) {\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }\n  }\n  else {\nLAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    local_6c = 0;\n  }\n  if (local_68 == (int *)0x0) {\n    local_6c = FUN_00076a00(param_6);\n    local_bc = (undefined4 *)0x0;\n    if (local_6c != 0) {\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n  }\n  if (local_a8 == (byte *)0x0) {\n    local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar15 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    local_6c = 0;\n    iVar23 = 6;\n    local_80 = 1;\n    local_b4 = (undefined *)0x1;\n  }\n  else {\n    bVar4 = *local_a8;\n    if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }\n    local_6c = 0;\n    local_b4 = (undefined *)local_80;\n  }\nLAB_000cfe77:\n  sVar5 = sVar5 + 1;\n  sVar6 = sVar6 + 1;\n  sVar7 = sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c;\n  local_dc = (void *)FUN_0003f0c0(sVar7,0);\n  if (local_dc == (void *)0x0) {\n    local_6c = 7;\n    goto LAB_000cfaef;\n  }\n  bVar28 = cVar1 == '4';\n  memset(local_dc,0,sVar7);\n  *(int *)((int)local_dc + 0x18) = iVar21;\n  *(undefined4 *)((int)local_dc + 0x30) = 0xff;\n  *(int **)((int)local_dc + 0x24) = local_68;\n  *(undefined4 *)((int)local_dc + 0xc) = param_2;\n  *(int *)((int)local_dc + 0x1c) = (int)local_dc + 0x11c;\n  *(bool *)((int)local_dc + 0xe9) = bVar28;\n  *(bool *)((int)local_dc + 0xe8) = bVar28;\n  *(byte *)((int)local_dc + 0xea) = (bVar3 ^ 1) & bVar28;\n  *(bool *)((int)local_dc + 0xeb) = bVar29;\n  *(undefined4 *)((int)local_dc + 0x108) = 0;\n  *(undefined4 *)((int)local_dc + 0x104) = 0x100000;\n  *(byte **)((int)local_dc + 0x28) = local_ac;\n  *(byte **)((int)local_dc + 0x2c) = local_9c;\n  pvVar10 = (void *)((int)local_dc + 0x11c + iVar21 * 4);\n  *(void **)((int)local_dc + 0x100) = pvVar10;\n  memcpy(pvVar10,local_bc,local_80 * 0x18);\n  sVar7 = 0;\n  *(undefined **)((int)local_dc + 0xfc) = local_b4;\n  if (local_b4 != (undefined *)0x0) {\n    do {\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    } while (local_b4 != (undefined *)sVar11);\n  }\n  iVar23 = local_80 * 0x18 + *(int *)((int)local_dc + 0x100);\n  *(int *)((int)local_dc + 0x20) = iVar23;\n  pvVar10 = (void *)(iVar23 + iVar21);\n  *(void **)((int)local_dc + 0x14) = pvVar10;\n  pvVar24 = (void *)((int)pvVar10 + sVar6);\n  memcpy(pvVar10,(void *)param_4[2],sVar6);\n  *(void **)((int)local_dc + 0x10) = pvVar24;\n  pvVar10 = (void *)((int)pvVar24 + sVar5);\n  iVar23 = 0;\n  memcpy(pvVar24,(void *)param_4[1],sVar5);\n  if (0 < iVar21) {\n    do {\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    } while (iVar21 * 4 != iVar23);\n    local_c8 = (undefined *)0x0;\n    do {\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    } while (local_c8 != (undefined *)iVar21);\n  }\n  piVar22 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    } while (local_c0 + local_b0 != piVar22);\n  }\n  if ((local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {\n    local_6c = 1;\n    pcVar13 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar13 = "compress";\n    }\n    FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);\n  }\n  local_64 = 0;\n  if (*(int *)((int)local_dc + 0x28) == 0) {\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }\n    else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }\n    iVar21 = 0;\n    FUN_00076c30(&local_6c,&local_64,"docid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }\n    FUN_00024cc0(local_b4);\n  }\n  else {\n    FUN_00076c30(&local_6c,&local_64,"rowid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }\n  }\n  iVar21 = *(int *)((int)local_dc + 0x28);\n  if (iVar21 == 0) {\n    pcVar13 = "_content";\n    iVar21 = *(int *)((int)local_dc + 0x14);\n  }\n  else {\n    pcVar13 = "";\n  }\n  FUN_00076c30(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",\n               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13);\n  *(size_t *)((int)local_dc + 0xdc) = local_64;\n  local_64 = 0;\n  if (local_a4 == (byte *)0x0) {\n    local_c8 = (undefined *)0x0;\n    puVar12 = &DAT_000f50ff;\n  }\n  else {\n    puVar12 = (undefined *)FUN_00041e40();\n    local_c8 = puVar12;\n  }\n  iVar21 = 0;\n  psVar30 = &local_64;\n  FUN_00076c30(&local_6c,&local_64,&DAT_000f8342);\n  if (0 < *(int *)((int)local_dc + 0x18)) {\n    do {\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    } while (iVar21 < *(int *)((int)local_dc + 0x18));\n  }\n  if (*(int *)((int)local_dc + 0x2c) != 0) {\n    psVar30 = &local_64;\n    FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);\n  }\n  FUN_00024cc0(local_c8);\n  *(size_t *)((int)local_dc + 0xe0) = local_64;\n  if (local_6c == 0) {\n    if (param_1 == 0) {\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }\n    else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);\n    if (sVar7 == 0) {\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }\n    pcVar13 = "__langid";\n    if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }\n    FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);\n    iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));\n    if (iVar21 == 0) {\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }\n    else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }\n    FUN_00024cc0(iVar23);\n    FUN_00024cc0(iVar21);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    local_6c = sVar7;\n  }\n  else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }\nLAB_000cfaef:\n  FUN_00024cc0(local_a8);\n  FUN_00024cc0(local_bc);\n  FUN_00024cc0(local_a4);\n  FUN_00024cc0(local_a0);\n  FUN_00024cc0(local_ac);\n  FUN_00024cc0(local_9c);\n  piVar22 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    } while (local_c0 + local_b0 != piVar25);\n  }\n  FUN_00024cc0(local_cc);\n  FUN_00024cc0(local_c0);\n  if (local_6c == 0) {\n    *param_5 = local_dc;\n  }\n  else if (local_dc == (void *)0x0) {\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }\n  else {\n    FUN_0008cf60(local_dc);\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_6c;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000f4bf0();\n}" primitive_type (ERROR "__regparm2" identifier) (function_declarator "FUN_000cf860(int param_1,undefined4 param_2,int param_3,int *param_4,undefined4 *param_5,\n            undefined4 param_6)" identifier (parameter_list "(int param_1,undefined4 param_2,int param_3,int *param_4,undefined4 *param_5,\n            undefined4 param_6)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "undefined4 param_6" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  char cVar2;\n  byte bVar3;\n  byte bVar4;\n  size_t sVar5;\n  size_t sVar6;\n  size_t sVar7;\n  int iVar8;\n  char *pcVar9;\n  void *pvVar10;\n  size_t sVar11;\n  undefined *puVar12;\n  char *pcVar13;\n  undefined4 *puVar14;\n  uint uVar15;\n  size_t *psVar16;\n  undefined4 uVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  int iVar21;\n  int *piVar22;\n  int iVar23;\n  void *pvVar24;\n  int *piVar25;\n  int iVar26;\n  undefined4 *puVar27;\n  int in_GS_OFFSET;\n  bool bVar28;\n  bool bVar29;\n  size_t *psVar30;\n  void *local_dc;\n  undefined *local_d0;\n  undefined4 *local_cc;\n  undefined *local_c8;\n  int *local_c0;\n  undefined4 *local_bc;\n  int local_b8;\n  undefined *local_b4;\n  int local_b0;\n  byte *local_ac;\n  byte *local_a8;\n  byte *local_a4;\n  byte *local_a0;\n  byte *local_9c;\n  size_t local_80;\n  size_t local_6c;\n  int *local_68;\n  size_t local_64;\n  char *local_60;\n  int local_5c;\n  char *local_58;\n  int local_54;\n  char *local_50;\n  undefined4 local_4c;\n  char *local_48;\n  undefined4 local_44;\n  char *local_40;\n  undefined4 local_3c;\n  char *local_38;\n  undefined4 local_34;\n  char *local_30;\n  undefined4 local_2c;\n  char *local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xcf86b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_6c = 0;\n  cVar1 = *(char *)(*param_4 + 3);\n  local_68 = (int *)0x0;\n  sVar5 = strlen((char *)param_4[1]);\n  sVar6 = strlen((char *)param_4[2]);\n  sVar7 = param_3 * 4 - 8;\n  local_cc = (undefined4 *)FUN_0003f0c0(sVar7,0);\n  if (local_cc != (undefined4 *)0x0) {\n    memset(local_cc,0,sVar7);\n    local_c0 = (int *)FUN_0003f0c0(sVar7,0);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }\n  local_6c = 7;\n  local_c0 = (int *)0x0;\n  local_bc = (undefined4 *)0x0;\n  local_b0 = 0;\n  local_9c = (byte *)0x0;\n  local_ac = (byte *)0x0;\n  local_a0 = (byte *)0x0;\n  local_a4 = (byte *)0x0;\n  local_a8 = (byte *)0x0;\n  local_dc = (void *)0x0;\n  goto LAB_000cfaef;\nLAB_000d0688:\n  FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13);\n  local_6c = 1;\nLAB_000d06b8:\n  FUN_00024cc0(pbVar20);\nLAB_000cfa0c:\n  bVar28 = local_6c == 0;\n  if (param_3 <= iVar23 || !bVar28) goto LAB_000cfd03;\n  goto LAB_000cfa14;\nLAB_000d08d0:\n  iVar23 = iVar23 + 1;\n  if (iVar23 == iVar21) goto LAB_000cfd38;\n  goto LAB_000d08db;\nLAB_000cfd03:\n  if ((local_ac == (byte *)0x0) || (!bVar28)) {\nLAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }\n  FUN_00024cc0(local_a4);\n  FUN_00024cc0(local_a0);\n  if (iVar21 == 0) {\n    FUN_00024cc0(local_cc);\n    local_64 = 0;\n    iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);\n    if (sVar7 != 0) {\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    FUN_00024cc0(iVar21);\n    iVar21 = FUN_0001bb40(local_64);\n    if (iVar21 < 1) {\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }\n  }\n  else {\nLAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    local_6c = 0;\n  }\n  if (local_68 == (int *)0x0) {\n    local_6c = FUN_00076a00(param_6);\n    local_bc = (undefined4 *)0x0;\n    if (local_6c != 0) {\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n  }\n  if (local_a8 == (byte *)0x0) {\n    local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar15 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    local_6c = 0;\n    iVar23 = 6;\n    local_80 = 1;\n    local_b4 = (undefined *)0x1;\n  }\n  else {\n    bVar4 = *local_a8;\n    if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }\n    local_6c = 0;\n    local_b4 = (undefined *)local_80;\n  }\nLAB_000cfe77:\n  sVar5 = sVar5 + 1;\n  sVar6 = sVar6 + 1;\n  sVar7 = sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c;\n  local_dc = (void *)FUN_0003f0c0(sVar7,0);\n  if (local_dc == (void *)0x0) {\n    local_6c = 7;\n    goto LAB_000cfaef;\n  }\n  bVar28 = cVar1 == '4';\n  memset(local_dc,0,sVar7);\n  *(int *)((int)local_dc + 0x18) = iVar21;\n  *(undefined4 *)((int)local_dc + 0x30) = 0xff;\n  *(int **)((int)local_dc + 0x24) = local_68;\n  *(undefined4 *)((int)local_dc + 0xc) = param_2;\n  *(int *)((int)local_dc + 0x1c) = (int)local_dc + 0x11c;\n  *(bool *)((int)local_dc + 0xe9) = bVar28;\n  *(bool *)((int)local_dc + 0xe8) = bVar28;\n  *(byte *)((int)local_dc + 0xea) = (bVar3 ^ 1) & bVar28;\n  *(bool *)((int)local_dc + 0xeb) = bVar29;\n  *(undefined4 *)((int)local_dc + 0x108) = 0;\n  *(undefined4 *)((int)local_dc + 0x104) = 0x100000;\n  *(byte **)((int)local_dc + 0x28) = local_ac;\n  *(byte **)((int)local_dc + 0x2c) = local_9c;\n  pvVar10 = (void *)((int)local_dc + 0x11c + iVar21 * 4);\n  *(void **)((int)local_dc + 0x100) = pvVar10;\n  memcpy(pvVar10,local_bc,local_80 * 0x18);\n  sVar7 = 0;\n  *(undefined **)((int)local_dc + 0xfc) = local_b4;\n  if (local_b4 != (undefined *)0x0) {\n    do {\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    } while (local_b4 != (undefined *)sVar11);\n  }\n  iVar23 = local_80 * 0x18 + *(int *)((int)local_dc + 0x100);\n  *(int *)((int)local_dc + 0x20) = iVar23;\n  pvVar10 = (void *)(iVar23 + iVar21);\n  *(void **)((int)local_dc + 0x14) = pvVar10;\n  pvVar24 = (void *)((int)pvVar10 + sVar6);\n  memcpy(pvVar10,(void *)param_4[2],sVar6);\n  *(void **)((int)local_dc + 0x10) = pvVar24;\n  pvVar10 = (void *)((int)pvVar24 + sVar5);\n  iVar23 = 0;\n  memcpy(pvVar24,(void *)param_4[1],sVar5);\n  if (0 < iVar21) {\n    do {\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    } while (iVar21 * 4 != iVar23);\n    local_c8 = (undefined *)0x0;\n    do {\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    } while (local_c8 != (undefined *)iVar21);\n  }\n  piVar22 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    } while (local_c0 + local_b0 != piVar22);\n  }\n  if ((local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {\n    local_6c = 1;\n    pcVar13 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar13 = "compress";\n    }\n    FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);\n  }\n  local_64 = 0;\n  if (*(int *)((int)local_dc + 0x28) == 0) {\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }\n    else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }\n    iVar21 = 0;\n    FUN_00076c30(&local_6c,&local_64,"docid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }\n    FUN_00024cc0(local_b4);\n  }\n  else {\n    FUN_00076c30(&local_6c,&local_64,"rowid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }\n  }\n  iVar21 = *(int *)((int)local_dc + 0x28);\n  if (iVar21 == 0) {\n    pcVar13 = "_content";\n    iVar21 = *(int *)((int)local_dc + 0x14);\n  }\n  else {\n    pcVar13 = "";\n  }\n  FUN_00076c30(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",\n               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13);\n  *(size_t *)((int)local_dc + 0xdc) = local_64;\n  local_64 = 0;\n  if (local_a4 == (byte *)0x0) {\n    local_c8 = (undefined *)0x0;\n    puVar12 = &DAT_000f50ff;\n  }\n  else {\n    puVar12 = (undefined *)FUN_00041e40();\n    local_c8 = puVar12;\n  }\n  iVar21 = 0;\n  psVar30 = &local_64;\n  FUN_00076c30(&local_6c,&local_64,&DAT_000f8342);\n  if (0 < *(int *)((int)local_dc + 0x18)) {\n    do {\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    } while (iVar21 < *(int *)((int)local_dc + 0x18));\n  }\n  if (*(int *)((int)local_dc + 0x2c) != 0) {\n    psVar30 = &local_64;\n    FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);\n  }\n  FUN_00024cc0(local_c8);\n  *(size_t *)((int)local_dc + 0xe0) = local_64;\n  if (local_6c == 0) {\n    if (param_1 == 0) {\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }\n    else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);\n    if (sVar7 == 0) {\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }\n    pcVar13 = "__langid";\n    if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }\n    FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);\n    iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));\n    if (iVar21 == 0) {\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }\n    else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }\n    FUN_00024cc0(iVar23);\n    FUN_00024cc0(iVar21);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    local_6c = sVar7;\n  }\n  else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }\nLAB_000cfaef:\n  FUN_00024cc0(local_a8);\n  FUN_00024cc0(local_bc);\n  FUN_00024cc0(local_a4);\n  FUN_00024cc0(local_a0);\n  FUN_00024cc0(local_ac);\n  FUN_00024cc0(local_9c);\n  piVar22 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    } while (local_c0 + local_b0 != piVar25);\n  }\n  FUN_00024cc0(local_cc);\n  FUN_00024cc0(local_c0);\n  if (local_6c == 0) {\n    *param_5 = local_dc;\n  }\n  else if (local_dc == (void *)0x0) {\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }\n  else {\n    FUN_0008cf60(local_dc);\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_6c;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000f4bf0();\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "size_t sVar6;" primitive_type identifier ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "void *pvVar10;" primitive_type (pointer_declarator "*pvVar10" * identifier) ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "size_t *psVar16;" primitive_type (pointer_declarator "*psVar16" * identifier) ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "void *pvVar24;" primitive_type (pointer_declarator "*pvVar24" * identifier) ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "undefined4 *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "bool bVar29;" primitive_type identifier ;) (declaration "size_t *psVar30;" primitive_type (pointer_declarator "*psVar30" * identifier) ;) (declaration "void *local_dc;" primitive_type (pointer_declarator "*local_dc" * identifier) ;) (declaration "undefined *local_d0;" type_identifier (pointer_declarator "*local_d0" * identifier) ;) (declaration "undefined4 *local_cc;" type_identifier (pointer_declarator "*local_cc" * identifier) ;) (declaration "undefined *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "int *local_c0;" primitive_type (pointer_declarator "*local_c0" * identifier) ;) (declaration "undefined4 *local_bc;" type_identifier (pointer_declarator "*local_bc" * identifier) ;) (declaration "int local_b8;" primitive_type identifier ;) (declaration "undefined *local_b4;" type_identifier (pointer_declarator "*local_b4" * identifier) ;) (declaration "int local_b0;" primitive_type identifier ;) (declaration "byte *local_ac;" type_identifier (pointer_declarator "*local_ac" * identifier) ;) (declaration "byte *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "byte *local_a4;" type_identifier (pointer_declarator "*local_a4" * identifier) ;) (declaration "byte *local_a0;" type_identifier (pointer_declarator "*local_a0" * identifier) ;) (declaration "byte *local_9c;" type_identifier (pointer_declarator "*local_9c" * identifier) ;) (declaration "size_t local_80;" primitive_type identifier ;) (declaration "size_t local_6c;" primitive_type identifier ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "size_t local_64;" primitive_type identifier ;) (declaration "char *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "char *local_58;" primitive_type (pointer_declarator "*local_58" * identifier) ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "char *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "char *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "char *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "char *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "char *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "char *local_28;" primitive_type (pointer_declarator "*local_28" * identifier) ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0xcf86b;" (assignment_expression "uStack_14 = 0xcf86b" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "cVar1 = *(char *)(*param_4 + 3);" (assignment_expression "cVar1 = *(char *)(*param_4 + 3)" identifier = (pointer_expression "*(char *)(*param_4 + 3)" * (cast_expression "(char *)(*param_4 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + 3)" ( (binary_expression "*param_4 + 3" (pointer_expression "*param_4" * identifier) + number_literal) ))))) ;) (expression_statement "local_68 = (int *)0x0;" (assignment_expression "local_68 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar5 = strlen((char *)param_4[1]);" (assignment_expression "sVar5 = strlen((char *)param_4[1])" identifier = (call_expression "strlen((char *)param_4[1])" identifier (argument_list "((char *)param_4[1])" ( (cast_expression "(char *)param_4[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ])) )))) ;) (expression_statement "sVar6 = strlen((char *)param_4[2]);" (assignment_expression "sVar6 = strlen((char *)param_4[2])" identifier = (call_expression "strlen((char *)param_4[2])" identifier (argument_list "((char *)param_4[2])" ( (cast_expression "(char *)param_4[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[2]" identifier [ number_literal ])) )))) ;) (expression_statement "sVar7 = param_3 * 4 - 8;" (assignment_expression "sVar7 = param_3 * 4 - 8" identifier = (binary_expression "param_3 * 4 - 8" (binary_expression "param_3 * 4" identifier * number_literal) - number_literal)) ;) (expression_statement "local_cc = (undefined4 *)FUN_0003f0c0(sVar7,0);" (assignment_expression "local_cc = (undefined4 *)FUN_0003f0c0(sVar7,0)" identifier = (cast_expression "(undefined4 *)FUN_0003f0c0(sVar7,0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003f0c0(sVar7,0)" identifier (argument_list "(sVar7,0)" ( identifier , number_literal ))))) ;) (if_statement "if (local_cc != (undefined4 *)0x0) {\n    memset(local_cc,0,sVar7);\n    local_c0 = (int *)FUN_0003f0c0(sVar7,0);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }" if (parenthesized_expression "(local_cc != (undefined4 *)0x0)" ( (binary_expression "local_cc != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    memset(local_cc,0,sVar7);\n    local_c0 = (int *)FUN_0003f0c0(sVar7,0);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }" { (expression_statement "memset(local_cc,0,sVar7);" (call_expression "memset(local_cc,0,sVar7)" identifier (argument_list "(local_cc,0,sVar7)" ( identifier , number_literal , identifier ))) ;) (expression_statement "local_c0 = (int *)FUN_0003f0c0(sVar7,0);" (assignment_expression "local_c0 = (int *)FUN_0003f0c0(sVar7,0)" identifier = (cast_expression "(int *)FUN_0003f0c0(sVar7,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003f0c0(sVar7,0)" identifier (argument_list "(sVar7,0)" ( identifier , number_literal ))))) ;) (if_statement "if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }" if (parenthesized_expression "(local_c0 != (int *)0x0)" ( (binary_expression "local_c0 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }" { (expression_statement "memset(local_c0,0,sVar7);" (call_expression "memset(local_c0,0,sVar7)" identifier (argument_list "(local_c0,0,sVar7)" ( identifier , number_literal , identifier ))) ;) (if_statement "if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }" if (parenthesized_expression "((local_6c == 0) && (3 < param_3))" ( (binary_expression "(local_6c == 0) && (3 < param_3)" (parenthesized_expression "(local_6c == 0)" ( (binary_expression "local_6c == 0" identifier == number_literal) )) && (parenthesized_expression "(3 < param_3)" ( (binary_expression "3 < param_3" number_literal < identifier) ))) )) (compound_statement "{\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }" { (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "local_d0 = (undefined *)0x0;" (assignment_expression "local_d0 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar23 = 3;" (assignment_expression "iVar23 = 3" identifier = number_literal) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = (byte *)0x0;" (assignment_expression "local_a8 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "bVar3 = 0;" (assignment_expression "bVar3 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];" statement_identifier : (expression_statement "pcVar13 = (char *)param_4[iVar23];" (assignment_expression "pcVar13 = (char *)param_4[iVar23]" identifier = (cast_expression "(char *)param_4[iVar23]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[iVar23]" identifier [ identifier ]))) ;)) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (if_statement "if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }" if (parenthesized_expression "((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0'))))" ( (binary_expression "(((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))" (parenthesized_expression "(((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0))" ( (binary_expression "((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)" (parenthesized_expression "((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7))" ( (binary_expression "(local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)" (parenthesized_expression "(local_68 == (int *)0x0)" ( (binary_expression "local_68 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(sVar7 = strlen(pcVar13), 8 < sVar7)" ( (comma_expression "sVar7 = strlen(pcVar13), 8 < sVar7" (assignment_expression "sVar7 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) , (binary_expression "8 < sVar7" number_literal < identifier)) ))) )) && (parenthesized_expression "(iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)" ( (comma_expression "iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0" (assignment_expression "iVar8 = FUN_00028130(pcVar13,"tokenize",8)" identifier = (call_expression "FUN_00028130(pcVar13,"tokenize",8)" identifier (argument_list "(pcVar13,"tokenize",8)" ( identifier , (string_literal ""tokenize"" " string_content ") , number_literal )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))" ( (parenthesized_expression "(-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0'))" ( (binary_expression "-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')" (binary_expression "-1 < pcVar13[8]" number_literal < (subscript_expression "pcVar13[8]" identifier [ number_literal ])) && (parenthesized_expression "((&DAT_000fc6a0)[pcVar13[8]] == '\0')" ( (binary_expression "(&DAT_000fc6a0)[pcVar13[8]] == '\0'" (subscript_expression "(&DAT_000fc6a0)[pcVar13[8]]" (parenthesized_expression "(&DAT_000fc6a0)" ( (pointer_expression "&DAT_000fc6a0" & identifier) )) [ (subscript_expression "pcVar13[8]" identifier [ number_literal ]) ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }" { (expression_statement "local_6c = FUN_00076a00(param_6);" (assignment_expression "local_6c = FUN_00076a00(param_6)" identifier = (call_expression "FUN_00076a00(param_6)" identifier (argument_list "(param_6)" ( identifier )))) ;) (goto_statement "goto LAB_000cfa0c;" goto statement_identifier ;) })) (if_statement "if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }" if (parenthesized_expression "(cVar1 == '4')" ( (binary_expression "cVar1 == '4'" identifier == (char_literal "'4'" ' character ')) )) (compound_statement "{\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }" { (expression_statement "cVar2 = *pcVar13;" (assignment_expression "cVar2 = *pcVar13" identifier = (pointer_expression "*pcVar13" * identifier)) ;) (expression_statement "pcVar9 = pcVar13;" (assignment_expression "pcVar9 = pcVar13" identifier = identifier) ;) (if_statement "if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }" if (parenthesized_expression "(cVar2 == '=')" ( (binary_expression "cVar2 == '='" identifier == (char_literal "'='" ' character ')) )) (compound_statement "{\n            local_b4 = (undefined *)0x0;\n          }" { (expression_statement "local_b4 = (undefined *)0x0;" (assignment_expression "local_b4 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }" else (compound_statement "{\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }" { (do_statement "do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');" do (compound_statement "{\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            }" { (if_statement "if (cVar2 == '\0') goto LAB_000cf9db;" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000cf9db;" goto statement_identifier ;)) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = *pcVar9;" (assignment_expression "cVar2 = *pcVar9" identifier = (pointer_expression "*pcVar9" * identifier)) ;) }) while (parenthesized_expression "(cVar2 != '=')" ( (binary_expression "cVar2 != '='" identifier != (char_literal "'='" ' character ')) )) ;) (expression_statement "local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);" (assignment_expression "local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13)" identifier = (cast_expression "(undefined *)((int)pcVar9 - (int)pcVar13)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pcVar9 - (int)pcVar13)" ( (binary_expression "(int)pcVar9 - (int)pcVar13" (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) (expression_statement "pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);" (assignment_expression "pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1)" identifier = (cast_expression "(byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00071090(&DAT_000f6ce3,pcVar9 + 1)" identifier (argument_list "(&DAT_000f6ce3,pcVar9 + 1)" ( (pointer_expression "&DAT_000f6ce3" & identifier) , (binary_expression "pcVar9 + 1" identifier + number_literal) ))))) ;) (if_statement "if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }" if (parenthesized_expression "(pbVar19 != (byte *)0x0)" ( (binary_expression "pbVar19 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            FUN_0001d8b0();\n          }" { (expression_statement "FUN_0001d8b0();" (call_expression "FUN_0001d8b0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_5c = 9;" (assignment_expression "local_5c = 9" identifier = number_literal) ;) (expression_statement "local_54 = 6;" (assignment_expression "local_54 = 6" identifier = number_literal) ;) (expression_statement "local_60 = "matchinfo";" (assignment_expression "local_60 = "matchinfo"" identifier = (string_literal ""matchinfo"" " string_content ")) ;) (expression_statement "local_58 = "prefix";" (assignment_expression "local_58 = "prefix"" identifier = (string_literal ""prefix"" " string_content ")) ;) (expression_statement "local_50 = "compress";" (assignment_expression "local_50 = "compress"" identifier = (string_literal ""compress"" " string_content ")) ;) (expression_statement "local_48 = "uncompress";" (assignment_expression "local_48 = "uncompress"" identifier = (string_literal ""uncompress"" " string_content ")) ;) (expression_statement "local_40 = "order";" (assignment_expression "local_40 = "order"" identifier = (string_literal ""order"" " string_content ")) ;) (expression_statement "local_38 = "content";" (assignment_expression "local_38 = "content"" identifier = (string_literal ""content"" " string_content ")) ;) (expression_statement "local_30 = "languageid";" (assignment_expression "local_30 = "languageid"" identifier = (string_literal ""languageid"" " string_content ")) ;) (expression_statement "local_4c = 8;" (assignment_expression "local_4c = 8" identifier = number_literal) ;) (expression_statement "local_44 = 10;" (assignment_expression "local_44 = 10" identifier = number_literal) ;) (expression_statement "local_3c = 5;" (assignment_expression "local_3c = 5" identifier = number_literal) ;) (expression_statement "local_34 = 7;" (assignment_expression "local_34 = 7" identifier = number_literal) ;) (expression_statement "local_2c = 10;" (assignment_expression "local_2c = 10" identifier = number_literal) ;) (expression_statement "local_28 = "notindexed";" (assignment_expression "local_28 = "notindexed"" identifier = (string_literal ""notindexed"" " string_content ")) ;) (expression_statement "local_24 = 10;" (assignment_expression "local_24 = 10" identifier = number_literal) ;) (if_statement "if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }" if (parenthesized_expression "(pbVar19 != (byte *)0x0)" ( (binary_expression "pbVar19 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }" { (expression_statement "iVar8 = 9;" (assignment_expression "iVar8 = 9" identifier = number_literal) ;) (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" identifier = number_literal) ;) (do_statement "do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );" do (compound_statement "{\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            }" { (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" identifier = identifier) ;) (if_statement "if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }" if (parenthesized_expression "((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0))" ( (binary_expression "(local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)" (parenthesized_expression "(local_b4 == (undefined *)iVar8)" ( (binary_expression "local_b4 == (undefined *)iVar8" identifier == (cast_expression "(undefined *)iVar8" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) && (parenthesized_expression "(iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)" ( (comma_expression "iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0" (assignment_expression "iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4)" identifier = (call_expression "FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4)" identifier (argument_list "(pcVar13,(&local_60)[iVar26 * 2],local_b4)" ( identifier , (subscript_expression "(&local_60)[iVar26 * 2]" (parenthesized_expression "(&local_60)" ( (pointer_expression "&local_60" & identifier) )) [ (binary_expression "iVar26 * 2" identifier * number_literal) ]) , identifier )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }" { (switch_statement "switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }" switch (parenthesized_expression "(iVar26)" ( identifier )) (compound_statement "{\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }" { (case_statement "default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;" default : (expression_statement "sVar7 = strlen((char *)pbVar19);" (assignment_expression "sVar7 = strlen((char *)pbVar19)" identifier = (call_expression "strlen((char *)pbVar19)" identifier (argument_list "((char *)pbVar19)" ( (cast_expression "(char *)pbVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }" if (parenthesized_expression "((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0))" ( (binary_expression "(sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)" (parenthesized_expression "(sVar7 == 4)" ( (binary_expression "sVar7 == 4" identifier == number_literal) )) && (parenthesized_expression "(iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)" ( (comma_expression "iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0" (assignment_expression "iVar8 = FUN_00028130(pbVar19,"fts3",4)" identifier = (call_expression "FUN_00028130(pbVar19,"fts3",4)" identifier (argument_list "(pbVar19,"fts3",4)" ( identifier , (string_literal ""fts3"" " string_content ") , number_literal )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                    bVar3 = 1;\n                  }" { (expression_statement "bVar3 = 1;" (assignment_expression "bVar3 = 1" identifier = number_literal) ;) }) (else_clause "else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }" else (compound_statement "{\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }" { (expression_statement "FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);" (call_expression "FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19)" identifier (argument_list "(param_6,"unrecognized matchinfo: %s",pbVar19)" ( identifier , (string_literal ""unrecognized matchinfo: %s"" " string_content ") , identifier ))) ;) (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" identifier = number_literal) ;) (expression_statement "bVar3 = 1;" (assignment_expression "bVar3 = 1" identifier = number_literal) ;) }))) (break_statement "break;" break ;)) (case_statement "case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;" case number_literal : (expression_statement "FUN_00024cc0(local_a8);" (call_expression "FUN_00024cc0(local_a8)" identifier (argument_list "(local_a8)" ( identifier ))) ;) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = pbVar19;" (assignment_expression "local_a8 = pbVar19" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;" case number_literal : (expression_statement "FUN_00024cc0(local_a4);" (call_expression "FUN_00024cc0(local_a4)" identifier (argument_list "(local_a4)" ( identifier ))) ;) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = pbVar19;" (assignment_expression "local_a4 = pbVar19" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;" case number_literal : (expression_statement "FUN_00024cc0(local_a0);" (call_expression "FUN_00024cc0(local_a0)" identifier (argument_list "(local_a0)" ( identifier ))) ;) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = pbVar19;" (assignment_expression "local_a0 = pbVar19" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;" case number_literal : (expression_statement "sVar7 = strlen((char *)pbVar19);" (assignment_expression "sVar7 = strlen((char *)pbVar19)" identifier = (call_expression "strlen((char *)pbVar19)" identifier (argument_list "((char *)pbVar19)" ( (cast_expression "(char *)pbVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }" if (parenthesized_expression "(sVar7 == 3)" ( (binary_expression "sVar7 == 3" identifier == number_literal) )) (compound_statement "{\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }" { (expression_statement "iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);" (assignment_expression "iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3)" identifier = (call_expression "FUN_00028130(pbVar19,&UNK_000f82c2,3)" identifier (argument_list "(pbVar19,&UNK_000f82c2,3)" ( identifier , (pointer_expression "&UNK_000f82c2" & identifier) , number_literal )))) ;) (if_statement "if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }" { (expression_statement "sVar7 = strlen((char *)pbVar19);" (assignment_expression "sVar7 = strlen((char *)pbVar19)" identifier = (call_expression "strlen((char *)pbVar19)" identifier (argument_list "((char *)pbVar19)" ( (cast_expression "(char *)pbVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (goto_statement "goto code_r0x000d0c76;" goto statement_identifier ;) })) }) (else_clause "else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }" else (compound_statement "{\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }" { (labeled_statement "code_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }" statement_identifier : (if_statement "if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }" if (parenthesized_expression "((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))" ( (binary_expression "(sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0)" (parenthesized_expression "(sVar7 != 4)" ( (binary_expression "sVar7 != 4" identifier != number_literal) )) || (parenthesized_expression "(iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0)" ( (comma_expression "iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0" (assignment_expression "iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4)" identifier = (call_expression "FUN_00028130(pbVar19,&UNK_000f82dd,4)" identifier (argument_list "(pbVar19,&UNK_000f82dd,4)" ( identifier , (pointer_expression "&UNK_000f82dd" & identifier) , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }" { (expression_statement "FUN_00071050(param_6,"unrecognized order: %s",pbVar19);" (call_expression "FUN_00071050(param_6,"unrecognized order: %s",pbVar19)" identifier (argument_list "(param_6,"unrecognized order: %s",pbVar19)" ( identifier , (string_literal ""unrecognized order: %s"" " string_content ") , identifier ))) ;) (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" identifier = number_literal) ;) }))) }))) (expression_statement "bVar29 = (*pbVar19 & 0xdf) == 0x44;" (assignment_expression "bVar29 = (*pbVar19 & 0xdf) == 0x44" identifier = (binary_expression "(*pbVar19 & 0xdf) == 0x44" (parenthesized_expression "(*pbVar19 & 0xdf)" ( (binary_expression "*pbVar19 & 0xdf" (pointer_expression "*pbVar19" * identifier) & number_literal) )) == number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;" case number_literal : (expression_statement "FUN_00024cc0(local_ac);" (call_expression "FUN_00024cc0(local_ac)" identifier (argument_list "(local_ac)" ( identifier ))) ;) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = pbVar19;" (assignment_expression "local_ac = pbVar19" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;" case number_literal : (expression_statement "FUN_00024cc0(local_9c);" (call_expression "FUN_00024cc0(local_9c)" identifier (argument_list "(local_9c)" ( identifier ))) ;) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_9c = pbVar19;" (assignment_expression "local_9c = pbVar19" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;" case number_literal : (expression_statement "local_c0[local_b0] = (int)pbVar19;" (assignment_expression "local_c0[local_b0] = (int)pbVar19" (subscript_expression "local_c0[local_b0]" identifier [ identifier ]) = (cast_expression "(int)pbVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_b0 = local_b0 + 1;" (assignment_expression "local_b0 = local_b0 + 1" identifier = (binary_expression "local_b0 + 1" identifier + number_literal)) ;) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) })) (goto_statement "goto LAB_000d06b8;" goto statement_identifier ;) })) (expression_statement "iVar26 = iVar26 + 1;" (assignment_expression "iVar26 = iVar26 + 1" identifier = (binary_expression "iVar26 + 1" identifier + number_literal)) ;) (if_statement "if (iVar26 == 8) goto LAB_000d0688;" if (parenthesized_expression "(iVar26 == 8)" ( (binary_expression "iVar26 == 8" identifier == number_literal) )) (goto_statement "goto LAB_000d0688;" goto statement_identifier ;)) (expression_statement "iVar8 = (&local_5c)[iVar26 * 2];" (assignment_expression "iVar8 = (&local_5c)[iVar26 * 2]" identifier = (subscript_expression "(&local_5c)[iVar26 * 2]" (parenthesized_expression "(&local_5c)" ( (pointer_expression "&local_5c" & identifier) )) [ (binary_expression "iVar26 * 2" identifier * number_literal) ])) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" identifier = number_literal) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (goto_statement "goto LAB_000cfd03;" goto statement_identifier ;) })) (labeled_statement "LAB_000cf9db:\n        sVar7 = strlen(pcVar13);" statement_identifier : (expression_statement "sVar7 = strlen(pcVar13);" (assignment_expression "sVar7 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) ;)) (expression_statement "local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);" (assignment_expression "local_d0 = (undefined *)((int)local_d0 + 1U + sVar7)" identifier = (cast_expression "(undefined *)((int)local_d0 + 1U + sVar7)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_d0 + 1U + sVar7)" ( (binary_expression "(int)local_d0 + 1U + sVar7" (binary_expression "(int)local_d0 + 1U" (cast_expression "(int)local_d0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) + identifier) )))) ;) (expression_statement "local_cc[iVar21] = pcVar13;" (assignment_expression "local_cc[iVar21] = pcVar13" (subscript_expression "local_cc[iVar21]" identifier [ identifier ]) = identifier) ;) (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000cfa0c;" goto statement_identifier ;) })) (expression_statement "bVar3 = 0;" (assignment_expression "bVar3 = 0" identifier = number_literal) ;) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "local_a8 = (byte *)0x0;" (assignment_expression "local_a8 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "local_d0 = (undefined *)0x0;" (assignment_expression "local_d0 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000d0578;" goto statement_identifier ;) })) })) (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" identifier = number_literal) ;) (expression_statement "local_c0 = (int *)0x0;" (assignment_expression "local_c0 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = (byte *)0x0;" (assignment_expression "local_a8 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) (labeled_statement "LAB_000d0688:\n  FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13);" statement_identifier : (expression_statement "FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13);" (call_expression "FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13)" identifier (argument_list "(param_6,"unrecognized parameter: %s",pcVar13)" ( identifier , (string_literal ""unrecognized parameter: %s"" " string_content ") , identifier ))) ;)) (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" identifier = number_literal) ;) (labeled_statement "LAB_000d06b8:\n  FUN_00024cc0(pbVar20);" statement_identifier : (expression_statement "FUN_00024cc0(pbVar20);" (call_expression "FUN_00024cc0(pbVar20)" identifier (argument_list "(pbVar20)" ( identifier ))) ;)) (labeled_statement "LAB_000cfa0c:\n  bVar28 = local_6c == 0;" statement_identifier : (expression_statement "bVar28 = local_6c == 0;" (assignment_expression "bVar28 = local_6c == 0" identifier = (binary_expression "local_6c == 0" identifier == number_literal)) ;)) (if_statement "if (param_3 <= iVar23 || !bVar28) goto LAB_000cfd03;" if (parenthesized_expression "(param_3 <= iVar23 || !bVar28)" ( (binary_expression "param_3 <= iVar23 || !bVar28" (binary_expression "param_3 <= iVar23" identifier <= identifier) || (unary_expression "!bVar28" ! identifier)) )) (goto_statement "goto LAB_000cfd03;" goto statement_identifier ;)) (goto_statement "goto LAB_000cfa14;" goto statement_identifier ;) (labeled_statement "LAB_000d08d0:\n  iVar23 = iVar23 + 1;" statement_identifier : (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;)) (if_statement "if (iVar23 == iVar21) goto LAB_000cfd38;" if (parenthesized_expression "(iVar23 == iVar21)" ( (binary_expression "iVar23 == iVar21" identifier == identifier) )) (goto_statement "goto LAB_000cfd38;" goto statement_identifier ;)) (goto_statement "goto LAB_000d08db;" goto statement_identifier ;) (labeled_statement "LAB_000cfd03:\n  if ((local_ac == (byte *)0x0) || (!bVar28)) {\nLAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }" statement_identifier : (if_statement "if ((local_ac == (byte *)0x0) || (!bVar28)) {\nLAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }" if (parenthesized_expression "((local_ac == (byte *)0x0) || (!bVar28))" ( (binary_expression "(local_ac == (byte *)0x0) || (!bVar28)" (parenthesized_expression "(local_ac == (byte *)0x0)" ( (binary_expression "local_ac == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(!bVar28)" ( (unary_expression "!bVar28" ! identifier) ))) )) (compound_statement "{\nLAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }" { (labeled_statement "LAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" statement_identifier : (if_statement "if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) )) (compound_statement "{\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) }))) (goto_statement "goto LAB_000d0580;" goto statement_identifier ;) }))) (expression_statement "FUN_00024cc0(local_a4);" (call_expression "FUN_00024cc0(local_a4)" identifier (argument_list "(local_a4)" ( identifier ))) ;) (expression_statement "FUN_00024cc0(local_a0);" (call_expression "FUN_00024cc0(local_a0)" identifier (argument_list "(local_a0)" ( identifier ))) ;) (if_statement "if (iVar21 == 0) {\n    FUN_00024cc0(local_cc);\n    local_64 = 0;\n    iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);\n    if (sVar7 != 0) {\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    FUN_00024cc0(iVar21);\n    iVar21 = FUN_0001bb40(local_64);\n    if (iVar21 < 1) {\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }\n  }\n  else {\nLAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    local_6c = 0;\n  }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00024cc0(local_cc);\n    local_64 = 0;\n    iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);\n    if (sVar7 != 0) {\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    FUN_00024cc0(iVar21);\n    iVar21 = FUN_0001bb40(local_64);\n    if (iVar21 < 1) {\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }\n  }" { (expression_statement "FUN_00024cc0(local_cc);" (call_expression "FUN_00024cc0(local_cc)" identifier (argument_list "(local_cc)" ( identifier ))) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);" (assignment_expression "iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac)" identifier = (call_expression "FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac)" identifier (argument_list "("SELECT * FROM %Q.%Q",param_4[1],local_ac)" ( (string_literal ""SELECT * FROM %Q.%Q"" " string_content ") , (subscript_expression "param_4[1]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "FUN_00024cc0(0);" (call_expression "FUN_00024cc0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" identifier = number_literal) ;) (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_cc = (undefined4 *)0x0;" (assignment_expression "local_cc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) (expression_statement "sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);" (assignment_expression "sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0)" identifier = (call_expression "FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0)" identifier (argument_list "(param_2,iVar21,0xffffffff,&local_64,0)" ( identifier , identifier , number_literal , (pointer_expression "&local_64" & identifier) , number_literal )))) ;) (if_statement "if (sVar7 != 0) {\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(sVar7 != 0)" ( (binary_expression "sVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "uVar17 = FUN_00055cc0(param_2);" (assignment_expression "uVar17 = FUN_00055cc0(param_2)" identifier = (call_expression "FUN_00055cc0(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "FUN_00071050(param_6,&DAT_000f6ce3,uVar17);" (call_expression "FUN_00071050(param_6,&DAT_000f6ce3,uVar17)" identifier (argument_list "(param_6,&DAT_000f6ce3,uVar17)" ( identifier , (pointer_expression "&DAT_000f6ce3" & identifier) , identifier ))) ;) (expression_statement "FUN_00024cc0(iVar21);" (call_expression "FUN_00024cc0(iVar21)" identifier (argument_list "(iVar21)" ( identifier ))) ;) (expression_statement "local_6c = sVar7;" (assignment_expression "local_6c = sVar7" identifier = identifier) ;) (labeled_statement "LAB_000d0e57:\n      local_bc = (undefined4 *)0x0;" statement_identifier : (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_cc = (undefined4 *)0x0;" (assignment_expression "local_cc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) (expression_statement "FUN_00024cc0(iVar21);" (call_expression "FUN_00024cc0(iVar21)" identifier (argument_list "(iVar21)" ( identifier ))) ;) (expression_statement "iVar21 = FUN_0001bb40(local_64);" (assignment_expression "iVar21 = FUN_0001bb40(local_64)" identifier = (call_expression "FUN_0001bb40(local_64)" identifier (argument_list "(local_64)" ( identifier )))) ;) (if_statement "if (iVar21 < 1) {\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }" if (parenthesized_expression "(iVar21 < 1)" ( (binary_expression "iVar21 < 1" identifier < number_literal) )) (compound_statement "{\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }" { (expression_statement "local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);" (assignment_expression "local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0)" identifier = (cast_expression "(undefined4 *)FUN_0003f0c0(iVar21 * 4,0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003f0c0(iVar21 * 4,0)" identifier (argument_list "(iVar21 * 4,0)" ( (binary_expression "iVar21 * 4" identifier * number_literal) , number_literal ))))) ;) (if_statement "if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;" if (parenthesized_expression "(local_cc == (undefined4 *)0x0)" ( (binary_expression "local_cc == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d1187;" goto statement_identifier ;)) (expression_statement "FUN_00089c20(local_64);" (call_expression "FUN_00089c20(local_64)" identifier (argument_list "(local_64)" ( identifier ))) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_d0 = (undefined *)0x0;" (assignment_expression "local_d0 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_9c == (byte *)0x0) goto LAB_000d1169;" if (parenthesized_expression "(local_9c == (byte *)0x0)" ( (binary_expression "local_9c == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d1169;" goto statement_identifier ;)) (expression_statement "local_d0 = (undefined *)0x0;" (assignment_expression "local_d0 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }" else (compound_statement "{\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }" { (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (expression_statement "local_d0 = (undefined *)0x0;" (assignment_expression "local_d0 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (do_statement "do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);" do (compound_statement "{\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      }" { (expression_statement "pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);" (assignment_expression "pcVar13 = (char *)FUN_0003ac60(local_64,iVar8)" identifier = (cast_expression "(char *)FUN_0003ac60(local_64,iVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003ac60(local_64,iVar8)" identifier (argument_list "(local_64,iVar8)" ( identifier , identifier ))))) ;) (expression_statement "sVar7 = strlen(pcVar13);" (assignment_expression "sVar7 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) ;) (expression_statement "bVar28 = CARRY4((uint)local_d0,sVar7 + 1);" (assignment_expression "bVar28 = CARRY4((uint)local_d0,sVar7 + 1)" identifier = (call_expression "CARRY4((uint)local_d0,sVar7 + 1)" identifier (argument_list "((uint)local_d0,sVar7 + 1)" ( (cast_expression "(uint)local_d0" ( (type_descriptor "uint" type_identifier) ) identifier) , (binary_expression "sVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);" (assignment_expression "local_d0 = (undefined *)((int)local_d0 + sVar7 + 1)" identifier = (cast_expression "(undefined *)((int)local_d0 + sVar7 + 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_d0 + sVar7 + 1)" ( (binary_expression "(int)local_d0 + sVar7 + 1" (binary_expression "(int)local_d0 + sVar7" (cast_expression "(int)local_d0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "iVar23 = iVar23 + (uint)bVar28;" (assignment_expression "iVar23 = iVar23 + (uint)bVar28" identifier = (binary_expression "iVar23 + (uint)bVar28" identifier + (cast_expression "(uint)bVar28" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar21 != iVar8)" ( (binary_expression "iVar21 != iVar8" identifier != identifier) )) ;) (expression_statement "local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));" (assignment_expression "local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0))" identifier = (cast_expression "(undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0))" identifier (argument_list "(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0))" ( (binary_expression "iVar21 * 4 + (int)local_d0" (binary_expression "iVar21 * 4" identifier * number_literal) + (cast_expression "(int)local_d0" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0)" identifier + (cast_expression "(uint)CARRY4(iVar21 * 4,(uint)local_d0)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(iVar21 * 4,(uint)local_d0)" identifier (argument_list "(iVar21 * 4,(uint)local_d0)" ( (binary_expression "iVar21 * 4" identifier * number_literal) , (cast_expression "(uint)local_d0" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) ))))) ;) (if_statement "if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }" if (parenthesized_expression "(local_cc == (undefined4 *)0x0)" ( (binary_expression "local_cc == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }" { (labeled_statement "LAB_000d1187:\n        FUN_00089c20(local_64);" statement_identifier : (expression_statement "FUN_00089c20(local_64);" (call_expression "FUN_00089c20(local_64)" identifier (argument_list "(local_64)" ( identifier ))) ;)) (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" identifier = number_literal) ;) (goto_statement "goto LAB_000d0e57;" goto statement_identifier ;) })) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (expression_statement "puVar27 = local_cc + iVar21;" (assignment_expression "puVar27 = local_cc + iVar21" identifier = (binary_expression "local_cc + iVar21" identifier + identifier)) ;) (do_statement "do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);" do (compound_statement "{\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      }" { (expression_statement "pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);" (assignment_expression "pcVar13 = (char *)FUN_0003ac60(local_64,iVar23)" identifier = (cast_expression "(char *)FUN_0003ac60(local_64,iVar23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003ac60(local_64,iVar23)" identifier (argument_list "(local_64,iVar23)" ( identifier , identifier ))))) ;) (expression_statement "sVar7 = strlen(pcVar13);" (assignment_expression "sVar7 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) ;) (expression_statement "memcpy(puVar27,pcVar13,sVar7 + 1);" (call_expression "memcpy(puVar27,pcVar13,sVar7 + 1)" identifier (argument_list "(puVar27,pcVar13,sVar7 + 1)" ( identifier , identifier , (binary_expression "sVar7 + 1" identifier + number_literal) ))) ;) (expression_statement "local_cc[iVar23] = puVar27;" (assignment_expression "local_cc[iVar23] = puVar27" (subscript_expression "local_cc[iVar23]" identifier [ identifier ]) = identifier) ;) (expression_statement "puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);" (assignment_expression "puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1)" identifier = (cast_expression "(undefined4 *)((int)puVar27 + sVar7 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + sVar7 + 1)" ( (binary_expression "(int)puVar27 + sVar7 + 1" (binary_expression "(int)puVar27 + sVar7" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar21 != iVar23)" ( (binary_expression "iVar21 != iVar23" identifier != identifier) )) ;) (expression_statement "FUN_00089c20(local_64);" (call_expression "FUN_00089c20(local_64)" identifier (argument_list "(local_64)" ( identifier ))) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (if_statement "if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }" if (parenthesized_expression "(local_9c != (byte *)0x0)" ( (binary_expression "local_9c != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }" { (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);" statement_identifier : (expression_statement "iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);" (assignment_expression "iVar8 = FUN_00027b40(local_9c,local_cc[iVar23])" identifier = (call_expression "FUN_00027b40(local_9c,local_cc[iVar23])" identifier (argument_list "(local_9c,local_cc[iVar23])" ( identifier , (subscript_expression "local_cc[iVar23]" identifier [ identifier ]) )))) ;)) (if_statement "if (iVar8 != 0) goto LAB_000d08d0;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000d08d0;" goto statement_identifier ;)) (expression_statement "puVar27 = local_cc + iVar23;" (assignment_expression "puVar27 = local_cc + iVar23" identifier = (binary_expression "local_cc + iVar23" identifier + identifier)) ;) (if_statement "if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }" if (parenthesized_expression "(iVar23 < iVar21)" ( (binary_expression "iVar23 < iVar21" identifier < identifier) )) (compound_statement "{\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }" { (do_statement "do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);" do (compound_statement "{\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          }" { (expression_statement "puVar14 = puVar27 + 1;" (assignment_expression "puVar14 = puVar27 + 1" identifier = (binary_expression "puVar27 + 1" identifier + number_literal)) ;) (expression_statement "*puVar27 = puVar27[1];" (assignment_expression "*puVar27 = puVar27[1]" (pointer_expression "*puVar27" * identifier) = (subscript_expression "puVar27[1]" identifier [ number_literal ])) ;) (expression_statement "puVar27 = puVar14;" (assignment_expression "puVar27 = puVar14" identifier = identifier) ;) }) while (parenthesized_expression "(local_cc + iVar21 != puVar14)" ( (binary_expression "local_cc + iVar21 != puVar14" (binary_expression "local_cc + iVar21" identifier + identifier) != identifier) )) ;) })) (expression_statement "iVar21 = iVar21 + -1;" (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000d0578;" goto statement_identifier ;) })) (labeled_statement "LAB_000d1169:\n      local_6c = 0;" statement_identifier : (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;)) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_000d0580:\n    if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }" statement_identifier : (if_statement "if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }" { (expression_statement "iVar21 = 1;" (assignment_expression "iVar21 = 1" identifier = number_literal) ;) (expression_statement "local_d0 = (undefined *)0x8;" (assignment_expression "local_d0 = (undefined *)0x8" identifier = (cast_expression "(undefined *)0x8" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*local_cc = "content";" (assignment_expression "*local_cc = "content"" (pointer_expression "*local_cc" * identifier) = (string_literal ""content"" " string_content ")) ;) }))) }) (else_clause "else {\nLAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    local_6c = 0;\n  }" else (compound_statement "{\nLAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    local_6c = 0;\n  }" { (labeled_statement "LAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" statement_identifier : (if_statement "if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) )) (compound_statement "{\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000d0985:\n      local_dc = (void *)0x0;" statement_identifier : (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) }))) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) }))) (if_statement "if (local_68 == (int *)0x0) {\n    local_6c = FUN_00076a00(param_6);\n    local_bc = (undefined4 *)0x0;\n    if (local_6c != 0) {\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n  }" if (parenthesized_expression "(local_68 == (int *)0x0)" ( (binary_expression "local_68 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_6c = FUN_00076a00(param_6);\n    local_bc = (undefined4 *)0x0;\n    if (local_6c != 0) {\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n  }" { (expression_statement "local_6c = FUN_00076a00(param_6);" (assignment_expression "local_6c = FUN_00076a00(param_6)" identifier = (call_expression "FUN_00076a00(param_6)" identifier (argument_list "(param_6)" ( identifier )))) ;) (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_6c != 0) {\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) )) (compound_statement "{\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) })) (if_statement "if (local_a8 == (byte *)0x0) {\n    local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar15 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    local_6c = 0;\n    iVar23 = 6;\n    local_80 = 1;\n    local_b4 = (undefined *)0x1;\n  }\n  else {\n    bVar4 = *local_a8;\n    if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }\n    local_6c = 0;\n    local_b4 = (undefined *)local_80;\n  }" if (parenthesized_expression "(local_a8 == (byte *)0x0)" ( (binary_expression "local_a8 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar15 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    local_6c = 0;\n    iVar23 = 6;\n    local_80 = 1;\n    local_b4 = (undefined *)0x1;\n  }" { (expression_statement "local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);" (assignment_expression "local_bc = (undefined4 *)FUN_0003f0c0(0x18,0)" identifier = (cast_expression "(undefined4 *)FUN_0003f0c0(0x18,0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003f0c0(0x18,0)" identifier (argument_list "(0x18,0)" ( number_literal , number_literal ))))) ;) (if_statement "if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;" if (parenthesized_expression "(local_bc == (undefined4 *)0x0)" ( (binary_expression "local_bc == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d06fb;" goto statement_identifier ;)) (expression_statement "*local_bc = 0;" (assignment_expression "*local_bc = 0" (pointer_expression "*local_bc" * identifier) = number_literal) ;) (expression_statement "local_bc[5] = 0;" (assignment_expression "local_bc[5] = 0" (subscript_expression "local_bc[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (do_statement "do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));" do (compound_statement "{\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    }" { (expression_statement "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;" (assignment_expression "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0" (pointer_expression "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" * (cast_expression "(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" ( (binary_expression "((uint)(local_bc + 1) & 0xfffffffc) + uVar15" (parenthesized_expression "((uint)(local_bc + 1) & 0xfffffffc)" ( (binary_expression "(uint)(local_bc + 1) & 0xfffffffc" (call_expression "(uint)(local_bc + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc + 1)" ( (binary_expression "local_bc + 1" identifier + number_literal) ))) & number_literal) )) + identifier) )))) = number_literal) ;) (expression_statement "uVar15 = uVar15 + 4;" (assignment_expression "uVar15 = uVar15 + 4" identifier = (binary_expression "uVar15 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))" ( (binary_expression "uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc)" identifier < (parenthesized_expression "((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc)" ( (binary_expression "(int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc" (binary_expression "(int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc))" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x18 - ((uint)(local_bc + 1) & 0xfffffffc))" ( (binary_expression "0x18 - ((uint)(local_bc + 1) & 0xfffffffc)" number_literal - (parenthesized_expression "((uint)(local_bc + 1) & 0xfffffffc)" ( (binary_expression "(uint)(local_bc + 1) & 0xfffffffc" (call_expression "(uint)(local_bc + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc + 1)" ( (binary_expression "local_bc + 1" identifier + number_literal) ))) & number_literal) ))) ))) & number_literal) ))) )) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "iVar23 = 6;" (assignment_expression "iVar23 = 6" identifier = number_literal) ;) (expression_statement "local_80 = 1;" (assignment_expression "local_80 = 1" identifier = number_literal) ;) (expression_statement "local_b4 = (undefined *)0x1;" (assignment_expression "local_b4 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    bVar4 = *local_a8;\n    if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }\n    local_6c = 0;\n    local_b4 = (undefined *)local_80;\n  }" else (compound_statement "{\n    bVar4 = *local_a8;\n    if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }\n    local_6c = 0;\n    local_b4 = (undefined *)local_80;\n  }" { (expression_statement "bVar4 = *local_a8;" (assignment_expression "bVar4 = *local_a8" identifier = (pointer_expression "*local_a8" * identifier)) ;) (if_statement "if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }" if (parenthesized_expression "(bVar4 == 0)" ( (binary_expression "bVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }" { (expression_statement "local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);" (assignment_expression "local_bc = (undefined4 *)FUN_0003f0c0(0x18,0)" identifier = (cast_expression "(undefined4 *)FUN_0003f0c0(0x18,0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003f0c0(0x18,0)" identifier (argument_list "(0x18,0)" ( number_literal , number_literal ))))) ;) (if_statement "if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;" if (parenthesized_expression "(local_bc == (undefined4 *)0x0)" ( (binary_expression "local_bc == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d06fb;" goto statement_identifier ;)) (expression_statement "*local_bc = 0;" (assignment_expression "*local_bc = 0" (pointer_expression "*local_bc" * identifier) = number_literal) ;) (expression_statement "local_bc[5] = 0;" (assignment_expression "local_bc[5] = 0" (subscript_expression "local_bc[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (do_statement "do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;" do (compound_statement "{\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      }" { (expression_statement "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;" (assignment_expression "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0" (pointer_expression "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" * (cast_expression "(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" ( (binary_expression "((uint)(local_bc + 1) & 0xfffffffc) + uVar15" (parenthesized_expression "((uint)(local_bc + 1) & 0xfffffffc)" ( (binary_expression "(uint)(local_bc + 1) & 0xfffffffc" (call_expression "(uint)(local_bc + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc + 1)" ( (binary_expression "local_bc + 1" identifier + number_literal) ))) & number_literal) )) + identifier) )))) = number_literal) ;) (expression_statement "uVar15 = uVar15 + 4;" (assignment_expression "uVar15 = uVar15 + 4" identifier = (binary_expression "uVar15 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))" ( (binary_expression "uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc)" identifier < (parenthesized_expression "((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc)" ( (binary_expression "(int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc" (binary_expression "(int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc))" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x18 - ((uint)(local_bc + 1) & 0xfffffffc))" ( (binary_expression "0x18 - ((uint)(local_bc + 1) & 0xfffffffc)" number_literal - (parenthesized_expression "((uint)(local_bc + 1) & 0xfffffffc)" ( (binary_expression "(uint)(local_bc + 1) & 0xfffffffc" (call_expression "(uint)(local_bc + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc + 1)" ( (binary_expression "local_bc + 1" identifier + number_literal) ))) & number_literal) ))) ))) & number_literal) ))) )) ;) (expression_statement "iVar23 = 6;" (assignment_expression "iVar23 = 6" identifier = number_literal) ;) (expression_statement "local_80 = 1;" (assignment_expression "local_80 = 1" identifier = number_literal) ;) }) (else_clause "else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }" else (compound_statement "{\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }" { (expression_statement "local_b4 = (undefined *)0x2;" (assignment_expression "local_b4 = (undefined *)0x2" identifier = (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar19 = local_a8;" (assignment_expression "pbVar19 = local_a8" identifier = identifier) ;) (do_statement "do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);" do (compound_statement "{\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      }" { (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));" (assignment_expression "local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c))" identifier = (cast_expression "(undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c))" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b4 + (uint)(bVar4 == 0x2c))" ( (binary_expression "(int)local_b4 + (uint)(bVar4 == 0x2c)" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(bVar4 == 0x2c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar4 == 0x2c)" ( (binary_expression "bVar4 == 0x2c" identifier == number_literal) )))) )))) ;) (expression_statement "bVar4 = *pbVar19;" (assignment_expression "bVar4 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) }) while (parenthesized_expression "(bVar4 != 0)" ( (binary_expression "bVar4 != 0" identifier != number_literal) )) ;) (expression_statement "local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);" (assignment_expression "local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0)" identifier = (cast_expression "(undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003f0c0((int)local_b4 * 0x18,0)" identifier (argument_list "((int)local_b4 * 0x18,0)" ( (binary_expression "(int)local_b4 * 0x18" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) , number_literal ))))) ;) (if_statement "if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }" if (parenthesized_expression "(local_bc == (undefined4 *)0x0)" ( (binary_expression "local_bc == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }" { (labeled_statement "LAB_000d06fb:\n        local_6c = 7;" statement_identifier : (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" identifier = number_literal) ;)) (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) (expression_statement "memset(local_bc,0,(int)local_b4 * 0x18);" (call_expression "memset(local_bc,0,(int)local_b4 * 0x18)" identifier (argument_list "(local_bc,0,(int)local_b4 * 0x18)" ( identifier , number_literal , (binary_expression "(int)local_b4 * 0x18" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) ;) (expression_statement "local_b8 = 1;" (assignment_expression "local_b8 = 1" identifier = number_literal) ;) (expression_statement "pbVar19 = local_a8;" (assignment_expression "pbVar19 = local_a8" identifier = identifier) ;) (do_statement "do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);" do (compound_statement "{\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      }" { (if_statement "if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }" if (parenthesized_expression "(9 < (byte)(*pbVar19 - 0x30))" ( (binary_expression "9 < (byte)(*pbVar19 - 0x30)" number_literal < (call_expression "(byte)(*pbVar19 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*pbVar19 - 0x30)" ( (binary_expression "*pbVar19 - 0x30" (pointer_expression "*pbVar19" * identifier) - number_literal) )))) )) (compound_statement "{\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }" { (labeled_statement "LAB_000d094c:\n          local_6c = 1;" statement_identifier : (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" identifier = number_literal) ;)) (expression_statement "FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);" (call_expression "FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8)" identifier (argument_list "(param_6,"error parsing prefix parameter: %s",local_a8)" ( identifier , (string_literal ""error parsing prefix parameter: %s"" " string_content ") , identifier ))) ;) (expression_statement "local_b4 = (undefined *)local_6c;" (assignment_expression "local_b4 = (undefined *)local_6c" identifier = (cast_expression "(undefined *)local_6c" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_6c != 0) goto LAB_000d0985;" if (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) )) (goto_statement "goto LAB_000d0985;" goto statement_identifier ;)) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000cfe77;" goto statement_identifier ;) })) (expression_statement "iVar23 = (char)*pbVar19 + -0x30;" (assignment_expression "iVar23 = (char)*pbVar19 + -0x30" identifier = (binary_expression "(char)*pbVar19 + -0x30" (cast_expression "(char)*pbVar19" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar19" * identifier)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" identifier = identifier) ;) (do_statement "do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);" do (compound_statement "{\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        }" { (expression_statement "pbVar18 = pbVar20;" (assignment_expression "pbVar18 = pbVar20" identifier = identifier) ;) (expression_statement "pbVar20 = pbVar18 + 1;" (assignment_expression "pbVar20 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }" if (parenthesized_expression "(9 < (byte)(pbVar18[1] - 0x30))" ( (binary_expression "9 < (byte)(pbVar18[1] - 0x30)" number_literal < (call_expression "(byte)(pbVar18[1] - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pbVar18[1] - 0x30)" ( (binary_expression "pbVar18[1] - 0x30" (subscript_expression "pbVar18[1]" identifier [ number_literal ]) - number_literal) )))) )) (compound_statement "{\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }" { (if_statement "if (pbVar20 == pbVar19) goto LAB_000d094c;" if (parenthesized_expression "(pbVar20 == pbVar19)" ( (binary_expression "pbVar20 == pbVar19" identifier == identifier) )) (goto_statement "goto LAB_000d094c;" goto statement_identifier ;)) (if_statement "if (iVar23 == 0) goto LAB_000d0938;" if (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000d0938;" goto statement_identifier ;)) (expression_statement "local_bc[local_b8 * 6] = iVar23;" (assignment_expression "local_bc[local_b8 * 6] = iVar23" (subscript_expression "local_bc[local_b8 * 6]" identifier [ (binary_expression "local_b8 * 6" identifier * number_literal) ]) = identifier) ;) (expression_statement "local_b8 = local_b8 + 1;" (assignment_expression "local_b8 = local_b8 + 1" identifier = (binary_expression "local_b8 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000cfe51;" goto statement_identifier ;) })) (expression_statement "iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;" (assignment_expression "iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10" identifier = (binary_expression "(char)pbVar18[1] + -0x30 + iVar23 * 10" (binary_expression "(char)pbVar18[1] + -0x30" (cast_expression "(char)pbVar18[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar18[1]" identifier [ number_literal ])) + number_literal) + (binary_expression "iVar23 * 10" identifier * number_literal))) ;) }) while (parenthesized_expression "(iVar23 < 0x989681)" ( (binary_expression "iVar23 < 0x989681" identifier < number_literal) )) ;) (if_statement "if (pbVar20 == pbVar19) goto LAB_000d094c;" if (parenthesized_expression "(pbVar20 == pbVar19)" ( (binary_expression "pbVar20 == pbVar19" identifier == identifier) )) (goto_statement "goto LAB_000d094c;" goto statement_identifier ;)) (labeled_statement "LAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);" statement_identifier : (expression_statement "local_b4 = (undefined *)((int)local_b4 - 1);" (assignment_expression "local_b4 = (undefined *)((int)local_b4 - 1)" identifier = (cast_expression "(undefined *)((int)local_b4 - 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b4 - 1)" ( (binary_expression "(int)local_b4 - 1" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;)) (labeled_statement "LAB_000cfe51:\n        pbVar19 = pbVar18 + 2;" statement_identifier : (expression_statement "pbVar19 = pbVar18 + 2;" (assignment_expression "pbVar19 = pbVar18 + 2" identifier = (binary_expression "pbVar18 + 2" identifier + number_literal)) ;)) }) while (parenthesized_expression "(local_b8 < (int)local_b4)" ( (binary_expression "local_b8 < (int)local_b4" identifier < (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "local_80 = (size_t)local_b4;" (assignment_expression "local_80 = (size_t)local_b4" identifier = (cast_expression "(size_t)local_b4" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "iVar23 = (int)local_b4 * 6;" (assignment_expression "iVar23 = (int)local_b4 * 6" identifier = (binary_expression "(int)local_b4 * 6" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) }))) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_b4 = (undefined *)local_80;" (assignment_expression "local_b4 = (undefined *)local_80" identifier = (cast_expression "(undefined *)local_80" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (labeled_statement "LAB_000cfe77:\n  sVar5 = sVar5 + 1;" statement_identifier : (expression_statement "sVar5 = sVar5 + 1;" (assignment_expression "sVar5 = sVar5 + 1" identifier = (binary_expression "sVar5 + 1" identifier + number_literal)) ;)) (expression_statement "sVar6 = sVar6 + 1;" (assignment_expression "sVar6 = sVar6 + 1" identifier = (binary_expression "sVar6 + 1" identifier + number_literal)) ;) (expression_statement "sVar7 = sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c;" (assignment_expression "sVar7 = sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c" identifier = (binary_expression "sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c" (binary_expression "sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4" (binary_expression "sVar6 + sVar5 + iVar21 * 5 + (int)local_d0" (binary_expression "sVar6 + sVar5 + iVar21 * 5" (binary_expression "sVar6 + sVar5" identifier + identifier) + (binary_expression "iVar21 * 5" identifier * number_literal)) + (cast_expression "(int)local_d0" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "iVar23 * 4" identifier * number_literal)) + number_literal)) ;) (expression_statement "local_dc = (void *)FUN_0003f0c0(sVar7,0);" (assignment_expression "local_dc = (void *)FUN_0003f0c0(sVar7,0)" identifier = (cast_expression "(void *)FUN_0003f0c0(sVar7,0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003f0c0(sVar7,0)" identifier (argument_list "(sVar7,0)" ( identifier , number_literal ))))) ;) (if_statement "if (local_dc == (void *)0x0) {\n    local_6c = 7;\n    goto LAB_000cfaef;\n  }" if (parenthesized_expression "(local_dc == (void *)0x0)" ( (binary_expression "local_dc == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_6c = 7;\n    goto LAB_000cfaef;\n  }" { (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" identifier = number_literal) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) (expression_statement "bVar28 = cVar1 == '4';" (assignment_expression "bVar28 = cVar1 == '4'" identifier = (binary_expression "cVar1 == '4'" identifier == (char_literal "'4'" ' character '))) ;) (expression_statement "memset(local_dc,0,sVar7);" (call_expression "memset(local_dc,0,sVar7)" identifier (argument_list "(local_dc,0,sVar7)" ( identifier , number_literal , identifier ))) ;) (expression_statement "*(int *)((int)local_dc + 0x18) = iVar21;" (assignment_expression "*(int *)((int)local_dc + 0x18) = iVar21" (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)local_dc + 0x30) = 0xff;" (assignment_expression "*(undefined4 *)((int)local_dc + 0x30) = 0xff" (pointer_expression "*(undefined4 *)((int)local_dc + 0x30)" * (cast_expression "(undefined4 *)((int)local_dc + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x30)" ( (binary_expression "(int)local_dc + 0x30" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)((int)local_dc + 0x24) = local_68;" (assignment_expression "*(int **)((int)local_dc + 0x24) = local_68" (pointer_expression "*(int **)((int)local_dc + 0x24)" * (cast_expression "(int **)((int)local_dc + 0x24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x24)" ( (binary_expression "(int)local_dc + 0x24" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)local_dc + 0xc) = param_2;" (assignment_expression "*(undefined4 *)((int)local_dc + 0xc) = param_2" (pointer_expression "*(undefined4 *)((int)local_dc + 0xc)" * (cast_expression "(undefined4 *)((int)local_dc + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xc)" ( (binary_expression "(int)local_dc + 0xc" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)local_dc + 0x1c) = (int)local_dc + 0x11c;" (assignment_expression "*(int *)((int)local_dc + 0x1c) = (int)local_dc + 0x11c" (pointer_expression "*(int *)((int)local_dc + 0x1c)" * (cast_expression "(int *)((int)local_dc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_dc + 0x11c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(bool *)((int)local_dc + 0xe9) = bVar28;" (assignment_expression "*(bool *)((int)local_dc + 0xe9) = bVar28" (pointer_expression "*(bool *)((int)local_dc + 0xe9)" * (cast_expression "(bool *)((int)local_dc + 0xe9)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe9)" ( (binary_expression "(int)local_dc + 0xe9" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(bool *)((int)local_dc + 0xe8) = bVar28;" (assignment_expression "*(bool *)((int)local_dc + 0xe8) = bVar28" (pointer_expression "*(bool *)((int)local_dc + 0xe8)" * (cast_expression "(bool *)((int)local_dc + 0xe8)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe8)" ( (binary_expression "(int)local_dc + 0xe8" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(byte *)((int)local_dc + 0xea) = (bVar3 ^ 1) & bVar28;" (assignment_expression "*(byte *)((int)local_dc + 0xea) = (bVar3 ^ 1) & bVar28" (pointer_expression "*(byte *)((int)local_dc + 0xea)" * (cast_expression "(byte *)((int)local_dc + 0xea)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xea)" ( (binary_expression "(int)local_dc + 0xea" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(bVar3 ^ 1) & bVar28" (parenthesized_expression "(bVar3 ^ 1)" ( (binary_expression "bVar3 ^ 1" identifier ^ number_literal) )) & identifier)) ;) (expression_statement "*(bool *)((int)local_dc + 0xeb) = bVar29;" (assignment_expression "*(bool *)((int)local_dc + 0xeb) = bVar29" (pointer_expression "*(bool *)((int)local_dc + 0xeb)" * (cast_expression "(bool *)((int)local_dc + 0xeb)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xeb)" ( (binary_expression "(int)local_dc + 0xeb" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)local_dc + 0x108) = 0;" (assignment_expression "*(undefined4 *)((int)local_dc + 0x108) = 0" (pointer_expression "*(undefined4 *)((int)local_dc + 0x108)" * (cast_expression "(undefined4 *)((int)local_dc + 0x108)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x108)" ( (binary_expression "(int)local_dc + 0x108" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)local_dc + 0x104) = 0x100000;" (assignment_expression "*(undefined4 *)((int)local_dc + 0x104) = 0x100000" (pointer_expression "*(undefined4 *)((int)local_dc + 0x104)" * (cast_expression "(undefined4 *)((int)local_dc + 0x104)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x104)" ( (binary_expression "(int)local_dc + 0x104" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(byte **)((int)local_dc + 0x28) = local_ac;" (assignment_expression "*(byte **)((int)local_dc + 0x28) = local_ac" (pointer_expression "*(byte **)((int)local_dc + 0x28)" * (cast_expression "(byte **)((int)local_dc + 0x28)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x28)" ( (binary_expression "(int)local_dc + 0x28" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)((int)local_dc + 0x2c) = local_9c;" (assignment_expression "*(byte **)((int)local_dc + 0x2c) = local_9c" (pointer_expression "*(byte **)((int)local_dc + 0x2c)" * (cast_expression "(byte **)((int)local_dc + 0x2c)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x2c)" ( (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pvVar10 = (void *)((int)local_dc + 0x11c + iVar21 * 4);" (assignment_expression "pvVar10 = (void *)((int)local_dc + 0x11c + iVar21 * 4)" identifier = (cast_expression "(void *)((int)local_dc + 0x11c + iVar21 * 4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x11c + iVar21 * 4)" ( (binary_expression "(int)local_dc + 0x11c + iVar21 * 4" (binary_expression "(int)local_dc + 0x11c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) + (binary_expression "iVar21 * 4" identifier * number_literal)) )))) ;) (expression_statement "*(void **)((int)local_dc + 0x100) = pvVar10;" (assignment_expression "*(void **)((int)local_dc + 0x100) = pvVar10" (pointer_expression "*(void **)((int)local_dc + 0x100)" * (cast_expression "(void **)((int)local_dc + 0x100)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x100)" ( (binary_expression "(int)local_dc + 0x100" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "memcpy(pvVar10,local_bc,local_80 * 0x18);" (call_expression "memcpy(pvVar10,local_bc,local_80 * 0x18)" identifier (argument_list "(pvVar10,local_bc,local_80 * 0x18)" ( identifier , identifier , (binary_expression "local_80 * 0x18" identifier * number_literal) ))) ;) (expression_statement "sVar7 = 0;" (assignment_expression "sVar7 = 0" identifier = number_literal) ;) (expression_statement "*(undefined **)((int)local_dc + 0xfc) = local_b4;" (assignment_expression "*(undefined **)((int)local_dc + 0xfc) = local_b4" (pointer_expression "*(undefined **)((int)local_dc + 0xfc)" * (cast_expression "(undefined **)((int)local_dc + 0xfc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0xfc)" ( (binary_expression "(int)local_dc + 0xfc" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (local_b4 != (undefined *)0x0) {\n    do {\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    } while (local_b4 != (undefined *)sVar11);\n  }" if (parenthesized_expression "(local_b4 != (undefined *)0x0)" ( (binary_expression "local_b4 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    do {\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    } while (local_b4 != (undefined *)sVar11);\n  }" { (do_statement "do {\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    } while (local_b4 != (undefined *)sVar11);" do (compound_statement "{\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    }" { (expression_statement "sVar11 = sVar7 + 1;" (assignment_expression "sVar11 = sVar7 + 1" identifier = (binary_expression "sVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;" (assignment_expression "iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18" identifier = (binary_expression "*(int *)((int)local_dc + 0x100) + sVar7 * 0x18" (pointer_expression "*(int *)((int)local_dc + 0x100)" * (cast_expression "(int *)((int)local_dc + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x100)" ( (binary_expression "(int)local_dc + 0x100" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (binary_expression "sVar7 * 0x18" identifier * number_literal))) ;) (expression_statement "*(undefined2 *)(iVar23 + 4) = 0x101;" (assignment_expression "*(undefined2 *)(iVar23 + 4) = 0x101" (pointer_expression "*(undefined2 *)(iVar23 + 4)" * (cast_expression "(undefined2 *)(iVar23 + 4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 4)" ( (binary_expression "iVar23 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar23 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(iVar23 + 0xc) = 0" (pointer_expression "*(undefined4 *)(iVar23 + 0xc)" * (cast_expression "(undefined4 *)(iVar23 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xc)" ( (binary_expression "iVar23 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar23 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar23 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar23 + 8)" * (cast_expression "(undefined4 *)(iVar23 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 8)" ( (binary_expression "iVar23 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar23 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar23 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar23 + 0x10)" * (cast_expression "(undefined4 *)(iVar23 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x10)" ( (binary_expression "iVar23 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar23 + 0x14) = 0;" (assignment_expression "*(undefined4 *)(iVar23 + 0x14) = 0" (pointer_expression "*(undefined4 *)(iVar23 + 0x14)" * (cast_expression "(undefined4 *)(iVar23 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x14)" ( (binary_expression "iVar23 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar7 = sVar11;" (assignment_expression "sVar7 = sVar11" identifier = identifier) ;) }) while (parenthesized_expression "(local_b4 != (undefined *)sVar11)" ( (binary_expression "local_b4 != (undefined *)sVar11" identifier != (cast_expression "(undefined *)sVar11" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) })) (expression_statement "iVar23 = local_80 * 0x18 + *(int *)((int)local_dc + 0x100);" (assignment_expression "iVar23 = local_80 * 0x18 + *(int *)((int)local_dc + 0x100)" identifier = (binary_expression "local_80 * 0x18 + *(int *)((int)local_dc + 0x100)" (binary_expression "local_80 * 0x18" identifier * number_literal) + (pointer_expression "*(int *)((int)local_dc + 0x100)" * (cast_expression "(int *)((int)local_dc + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x100)" ( (binary_expression "(int)local_dc + 0x100" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) (expression_statement "*(int *)((int)local_dc + 0x20) = iVar23;" (assignment_expression "*(int *)((int)local_dc + 0x20) = iVar23" (pointer_expression "*(int *)((int)local_dc + 0x20)" * (cast_expression "(int *)((int)local_dc + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x20)" ( (binary_expression "(int)local_dc + 0x20" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pvVar10 = (void *)(iVar23 + iVar21);" (assignment_expression "pvVar10 = (void *)(iVar23 + iVar21)" identifier = (cast_expression "(void *)(iVar23 + iVar21)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar21)" ( (binary_expression "iVar23 + iVar21" identifier + identifier) )))) ;) (expression_statement "*(void **)((int)local_dc + 0x14) = pvVar10;" (assignment_expression "*(void **)((int)local_dc + 0x14) = pvVar10" (pointer_expression "*(void **)((int)local_dc + 0x14)" * (cast_expression "(void **)((int)local_dc + 0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x14)" ( (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pvVar24 = (void *)((int)pvVar10 + sVar6);" (assignment_expression "pvVar24 = (void *)((int)pvVar10 + sVar6)" identifier = (cast_expression "(void *)((int)pvVar10 + sVar6)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar10 + sVar6)" ( (binary_expression "(int)pvVar10 + sVar6" (cast_expression "(int)pvVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "memcpy(pvVar10,(void *)param_4[2],sVar6);" (call_expression "memcpy(pvVar10,(void *)param_4[2],sVar6)" identifier (argument_list "(pvVar10,(void *)param_4[2],sVar6)" ( identifier , (cast_expression "(void *)param_4[2]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[2]" identifier [ number_literal ])) , identifier ))) ;) (expression_statement "*(void **)((int)local_dc + 0x10) = pvVar24;" (assignment_expression "*(void **)((int)local_dc + 0x10) = pvVar24" (pointer_expression "*(void **)((int)local_dc + 0x10)" * (cast_expression "(void **)((int)local_dc + 0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x10)" ( (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pvVar10 = (void *)((int)pvVar24 + sVar5);" (assignment_expression "pvVar10 = (void *)((int)pvVar24 + sVar5)" identifier = (cast_expression "(void *)((int)pvVar24 + sVar5)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar24 + sVar5)" ( (binary_expression "(int)pvVar24 + sVar5" (cast_expression "(int)pvVar24" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (expression_statement "memcpy(pvVar24,(void *)param_4[1],sVar5);" (call_expression "memcpy(pvVar24,(void *)param_4[1],sVar5)" identifier (argument_list "(pvVar24,(void *)param_4[1],sVar5)" ( identifier , (cast_expression "(void *)param_4[1]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ])) , identifier ))) ;) (if_statement "if (0 < iVar21) {\n    do {\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    } while (iVar21 * 4 != iVar23);\n    local_c8 = (undefined *)0x0;\n    do {\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    } while (local_c8 != (undefined *)iVar21);\n  }" if (parenthesized_expression "(0 < iVar21)" ( (binary_expression "0 < iVar21" number_literal < identifier) )) (compound_statement "{\n    do {\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    } while (iVar21 * 4 != iVar23);\n    local_c8 = (undefined *)0x0;\n    do {\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    } while (local_c8 != (undefined *)iVar21);\n  }" { (do_statement "do {\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    } while (iVar21 * 4 != iVar23);" do (compound_statement "{\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    }" { (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "pvVar24 = (void *)FUN_0001ea80();" (assignment_expression "pvVar24 = (void *)FUN_0001ea80()" identifier = (cast_expression "(void *)FUN_0001ea80()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001ea80()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }" if (parenthesized_expression "(0 < (int)local_64)" ( (binary_expression "0 < (int)local_64" number_literal < (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        memcpy(pvVar10,pvVar24,local_64);\n      }" { (expression_statement "memcpy(pvVar10,pvVar24,local_64);" (call_expression "memcpy(pvVar10,pvVar24,local_64)" identifier (argument_list "(pvVar10,pvVar24,local_64)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "*(undefined1 *)((int)pvVar10 + local_64) = 0;" (assignment_expression "*(undefined1 *)((int)pvVar10 + local_64) = 0" (pointer_expression "*(undefined1 *)((int)pvVar10 + local_64)" * (cast_expression "(undefined1 *)((int)pvVar10 + local_64)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar10 + local_64)" ( (binary_expression "(int)pvVar10 + local_64" (cast_expression "(int)pvVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "FUN_0001d8b0();" (call_expression "FUN_0001d8b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;" (assignment_expression "*(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10" (pointer_expression "*(void **)(*(int *)((int)local_dc + 0x1c) + iVar23)" * (cast_expression "(void **)(*(int *)((int)local_dc + 0x1c) + iVar23)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + iVar23)" ( (binary_expression "*(int *)((int)local_dc + 0x1c) + iVar23" (pointer_expression "*(int *)((int)local_dc + 0x1c)" * (cast_expression "(int *)((int)local_dc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + identifier) )))) = identifier) ;) (expression_statement "iVar23 = iVar23 + 4;" (assignment_expression "iVar23 = iVar23 + 4" identifier = (binary_expression "iVar23 + 4" identifier + number_literal)) ;) (expression_statement "pvVar10 = (void *)((int)pvVar10 + local_64 + 1);" (assignment_expression "pvVar10 = (void *)((int)pvVar10 + local_64 + 1)" identifier = (cast_expression "(void *)((int)pvVar10 + local_64 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar10 + local_64 + 1)" ( (binary_expression "(int)pvVar10 + local_64 + 1" (binary_expression "(int)pvVar10 + local_64" (cast_expression "(int)pvVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(iVar21 * 4 != iVar23)" ( (binary_expression "iVar21 * 4 != iVar23" (binary_expression "iVar21 * 4" identifier * number_literal) != identifier) )) ;) (expression_statement "local_c8 = (undefined *)0x0;" (assignment_expression "local_c8 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    } while (local_c8 != (undefined *)iVar21);" do (compound_statement "{\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    }" { (expression_statement "sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));" (assignment_expression "sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4))" identifier = (call_expression "strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4))" identifier (argument_list "(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4))" ( (pointer_expression "*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" * (cast_expression "(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" ( (binary_expression "*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4" (pointer_expression "*(int *)((int)local_dc + 0x1c)" * (cast_expression "(int *)((int)local_dc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (binary_expression "(int)local_c8 * 4" (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) )))) ;) (expression_statement "piVar22 = local_c0;" (assignment_expression "piVar22 = local_c0" identifier = identifier) ;) (if_statement "if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }" if (parenthesized_expression "(local_b0 != 0)" ( (binary_expression "local_b0 != 0" identifier != number_literal) )) (compound_statement "{\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }" { (do_statement "do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);" do (compound_statement "{\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        }" { (while_statement "while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }" while (parenthesized_expression "(((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0)))" ( (parenthesized_expression "((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))" ( (binary_expression "(pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0)" (parenthesized_expression "(pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5))" ( (comma_expression "pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)" (assignment_expression "pcVar13 = (char *)*piVar22" identifier = (cast_expression "(char *)*piVar22" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar22" * identifier))) , (binary_expression "pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)" (binary_expression "pcVar13 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(sVar5 = strlen(pcVar13), sVar7 == sVar5)" ( (comma_expression "sVar5 = strlen(pcVar13), sVar7 == sVar5" (assignment_expression "sVar5 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) , (binary_expression "sVar7 == sVar5" identifier == identifier)) )))) )) && (parenthesized_expression "(iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0)" ( (comma_expression "iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0" (assignment_expression "iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7)" identifier = (call_expression "FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7)" identifier (argument_list "(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7)" ( (pointer_expression "*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" * (cast_expression "(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" ( (binary_expression "*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4" (pointer_expression "*(int *)((int)local_dc + 0x1c)" * (cast_expression "(int *)((int)local_dc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (binary_expression "(int)local_c8 * 4" (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) , identifier , identifier )))) , (binary_expression "iVar23 == 0" identifier == number_literal)) ))) )) )) (compound_statement "{\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }" { (expression_statement "piVar25 = piVar22 + 1;" (assignment_expression "piVar25 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;" (assignment_expression "*(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1" (pointer_expression "*(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8)" * (cast_expression "(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)local_dc + 0x20) + (int)local_c8)" ( (binary_expression "*(int *)((int)local_dc + 0x20) + (int)local_c8" (pointer_expression "*(int *)((int)local_dc + 0x20)" * (cast_expression "(int *)((int)local_dc + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x20)" ( (binary_expression "(int)local_dc + 0x20" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = number_literal) ;) (expression_statement "FUN_00024cc0(pcVar13);" (call_expression "FUN_00024cc0(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) (expression_statement "*piVar22 = 0;" (assignment_expression "*piVar22 = 0" (pointer_expression "*piVar22" * identifier) = number_literal) ;) (expression_statement "piVar22 = piVar25;" (assignment_expression "piVar22 = piVar25" identifier = identifier) ;) (if_statement "if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;" if (parenthesized_expression "(local_c0 + local_b0 == piVar25)" ( (binary_expression "local_c0 + local_b0 == piVar25" (binary_expression "local_c0 + local_b0" identifier + identifier) == identifier) )) (goto_statement "goto LAB_000d0168;" goto statement_identifier ;)) })) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_c0 + local_b0 != piVar22)" ( (binary_expression "local_c0 + local_b0 != piVar22" (binary_expression "local_c0 + local_b0" identifier + identifier) != identifier) )) ;) })) (labeled_statement "LAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);" statement_identifier : (expression_statement "local_c8 = (undefined *)((int)local_c8 + 1);" (assignment_expression "local_c8 = (undefined *)((int)local_c8 + 1)" identifier = (cast_expression "(undefined *)((int)local_c8 + 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_c8 + 1)" ( (binary_expression "(int)local_c8 + 1" (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) }) while (parenthesized_expression "(local_c8 != (undefined *)iVar21)" ( (binary_expression "local_c8 != (undefined *)iVar21" identifier != (cast_expression "(undefined *)iVar21" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) })) (expression_statement "piVar22 = local_c0;" (assignment_expression "piVar22 = local_c0" identifier = identifier) ;) (if_statement "if (local_b0 != 0) {\n    do {\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    } while (local_c0 + local_b0 != piVar22);\n  }" if (parenthesized_expression "(local_b0 != 0)" ( (binary_expression "local_b0 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    } while (local_c0 + local_b0 != piVar22);\n  }" { (do_statement "do {\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    } while (local_c0 + local_b0 != piVar22);" do (compound_statement "{\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    }" { (if_statement "if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }" if (parenthesized_expression "(*piVar22 != 0)" ( (binary_expression "*piVar22 != 0" (pointer_expression "*piVar22" * identifier) != number_literal) )) (compound_statement "{\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }" { (expression_statement "FUN_00071050(param_6,"no such column: %s",*piVar22);" (call_expression "FUN_00071050(param_6,"no such column: %s",*piVar22)" identifier (argument_list "(param_6,"no such column: %s",*piVar22)" ( identifier , (string_literal ""no such column: %s"" " string_content ") , (pointer_expression "*piVar22" * identifier) ))) ;) (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" identifier = number_literal) ;) })) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_c0 + local_b0 != piVar22)" ( (binary_expression "local_c0 + local_b0 != piVar22" (binary_expression "local_c0 + local_b0" identifier + identifier) != identifier) )) ;) })) (if_statement "if ((local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {\n    local_6c = 1;\n    pcVar13 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar13 = "compress";\n    }\n    FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);\n  }" if (parenthesized_expression "((local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0)))" ( (binary_expression "(local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))" (parenthesized_expression "(local_6c == 0)" ( (binary_expression "local_6c == 0" identifier == number_literal) )) && (parenthesized_expression "((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))" ( (binary_expression "(local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0)" (parenthesized_expression "(local_a4 == (byte *)0x0)" ( (binary_expression "local_a4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) != (parenthesized_expression "(local_a0 == (byte *)0x0)" ( (binary_expression "local_a0 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) ))) )) (compound_statement "{\n    local_6c = 1;\n    pcVar13 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar13 = "compress";\n    }\n    FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);\n  }" { (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" identifier = number_literal) ;) (expression_statement "pcVar13 = "uncompress";" (assignment_expression "pcVar13 = "uncompress"" identifier = (string_literal ""uncompress"" " string_content ")) ;) (if_statement "if (local_a4 == (byte *)0x0) {\n      pcVar13 = "compress";\n    }" if (parenthesized_expression "(local_a4 == (byte *)0x0)" ( (binary_expression "local_a4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar13 = "compress";\n    }" { (expression_statement "pcVar13 = "compress";" (assignment_expression "pcVar13 = "compress"" identifier = (string_literal ""compress"" " string_content ")) ;) })) (expression_statement "FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);" (call_expression "FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13)" identifier (argument_list "(param_6,"missing %s parameter in fts4 constructor",pcVar13)" ( identifier , (string_literal ""missing %s parameter in fts4 constructor"" " string_content ") , identifier ))) ;) })) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)((int)local_dc + 0x28) == 0) {\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }\n    else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }\n    iVar21 = 0;\n    FUN_00076c30(&local_6c,&local_64,"docid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }\n    FUN_00024cc0(local_b4);\n  }\n  else {\n    FUN_00076c30(&local_6c,&local_64,"rowid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }\n  }" if (parenthesized_expression "(*(int *)((int)local_dc + 0x28) == 0)" ( (binary_expression "*(int *)((int)local_dc + 0x28) == 0" (pointer_expression "*(int *)((int)local_dc + 0x28)" * (cast_expression "(int *)((int)local_dc + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x28)" ( (binary_expression "(int)local_dc + 0x28" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }\n    else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }\n    iVar21 = 0;\n    FUN_00076c30(&local_6c,&local_64,"docid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }\n    FUN_00024cc0(local_b4);\n  }" { (if_statement "if (local_a0 == (byte *)0x0) {\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }\n    else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }" if (parenthesized_expression "(local_a0 == (byte *)0x0)" ( (binary_expression "local_a0 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }" { (expression_statement "local_d0 = &DAT_000f50ff;" (assignment_expression "local_d0 = &DAT_000f50ff" identifier = (pointer_expression "&DAT_000f50ff" & identifier)) ;) (expression_statement "local_b4 = (undefined *)0x0;" (assignment_expression "local_b4 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }" else (compound_statement "{\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }" { (expression_statement "local_d0 = (undefined *)FUN_00041e40();" (assignment_expression "local_d0 = (undefined *)FUN_00041e40()" identifier = (cast_expression "(undefined *)FUN_00041e40()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00041e40()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_b4 = local_d0;" (assignment_expression "local_b4 = local_d0" identifier = identifier) ;) }))) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "FUN_00076c30(&local_6c,&local_64,"docid");" (call_expression "FUN_00076c30(&local_6c,&local_64,"docid")" identifier (argument_list "(&local_6c,&local_64,"docid")" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (string_literal ""docid"" " string_content ") ))) ;) (if_statement "if (0 < *(int *)((int)local_dc + 0x18)) {\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }" if (parenthesized_expression "(0 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "0 < *(int *)((int)local_dc + 0x18)" number_literal < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }" { (do_statement "do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));" do (compound_statement "{\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      }" { (expression_statement "iVar23 = iVar21 + 1;" (assignment_expression "iVar23 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));" (call_expression "FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4))" identifier (argument_list "(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4))" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (string_literal "",%s(x.\'c%d%q\')"" " string_content escape_sequence string_content escape_sequence string_content ") , identifier , identifier , (pointer_expression "*(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4)" * (cast_expression "(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + iVar21 * 4)" ( (binary_expression "*(int *)((int)local_dc + 0x1c) + iVar21 * 4" (pointer_expression "*(int *)((int)local_dc + 0x1c)" * (cast_expression "(int *)((int)local_dc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (binary_expression "iVar21 * 4" identifier * number_literal)) )))) ))) ;) (expression_statement "iVar21 = iVar23;" (assignment_expression "iVar21 = iVar23" identifier = identifier) ;) }) while (parenthesized_expression "(iVar23 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "iVar23 < *(int *)((int)local_dc + 0x18)" identifier < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) ;) })) (if_statement "if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }" if (parenthesized_expression "(*(int *)((int)local_dc + 0x2c) != 0)" ( (binary_expression "*(int *)((int)local_dc + 0x2c) != 0" (pointer_expression "*(int *)((int)local_dc + 0x2c)" * (cast_expression "(int *)((int)local_dc + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x2c)" ( (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }" { (expression_statement "FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");" (call_expression "FUN_00076c30(&local_6c,&local_64,", x.%Q","langid")" identifier (argument_list "(&local_6c,&local_64,", x.%Q","langid")" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (string_literal "", x.%Q"" " string_content ") , (string_literal ""langid"" " string_content ") ))) ;) })) (expression_statement "FUN_00024cc0(local_b4);" (call_expression "FUN_00024cc0(local_b4)" identifier (argument_list "(local_b4)" ( identifier ))) ;) }) (else_clause "else {\n    FUN_00076c30(&local_6c,&local_64,"rowid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }\n  }" else (compound_statement "{\n    FUN_00076c30(&local_6c,&local_64,"rowid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }\n  }" { (expression_statement "FUN_00076c30(&local_6c,&local_64,"rowid");" (call_expression "FUN_00076c30(&local_6c,&local_64,"rowid")" identifier (argument_list "(&local_6c,&local_64,"rowid")" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (string_literal ""rowid"" " string_content ") ))) ;) (if_statement "if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }" if (parenthesized_expression "(0 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "0 < *(int *)((int)local_dc + 0x18)" number_literal < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }" { (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));" do (compound_statement "{\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      }" { (expression_statement "iVar23 = iVar21 * 4;" (assignment_expression "iVar23 = iVar21 * 4" identifier = (binary_expression "iVar21 * 4" identifier * number_literal)) ;) (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));" (call_expression "FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23))" identifier (argument_list "(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23))" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (string_literal "", x.\'%q\'"" " string_content escape_sequence string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23)" * (cast_expression "(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + iVar23)" ( (binary_expression "*(int *)((int)local_dc + 0x1c) + iVar23" (pointer_expression "*(int *)((int)local_dc + 0x1c)" * (cast_expression "(int *)((int)local_dc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + identifier) )))) ))) ;) }) while (parenthesized_expression "(iVar21 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "iVar21 < *(int *)((int)local_dc + 0x18)" identifier < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) ;) })) (if_statement "if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }" if (parenthesized_expression "(*(int *)((int)local_dc + 0x2c) != 0)" ( (binary_expression "*(int *)((int)local_dc + 0x2c) != 0" (pointer_expression "*(int *)((int)local_dc + 0x2c)" * (cast_expression "(int *)((int)local_dc + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x2c)" ( (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }" { (expression_statement "FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));" (call_expression "FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c))" identifier (argument_list "(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c))" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (string_literal "", x.%Q"" " string_content ") , (pointer_expression "*(int *)((int)local_dc + 0x2c)" * (cast_expression "(int *)((int)local_dc + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x2c)" ( (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) }))) (expression_statement "iVar21 = *(int *)((int)local_dc + 0x28);" (assignment_expression "iVar21 = *(int *)((int)local_dc + 0x28)" identifier = (pointer_expression "*(int *)((int)local_dc + 0x28)" * (cast_expression "(int *)((int)local_dc + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x28)" ( (binary_expression "(int)local_dc + 0x28" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar21 == 0) {\n    pcVar13 = "_content";\n    iVar21 = *(int *)((int)local_dc + 0x14);\n  }\n  else {\n    pcVar13 = "";\n  }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar13 = "_content";\n    iVar21 = *(int *)((int)local_dc + 0x14);\n  }" { (expression_statement "pcVar13 = "_content";" (assignment_expression "pcVar13 = "_content"" identifier = (string_literal ""_content"" " string_content ")) ;) (expression_statement "iVar21 = *(int *)((int)local_dc + 0x14);" (assignment_expression "iVar21 = *(int *)((int)local_dc + 0x14)" identifier = (pointer_expression "*(int *)((int)local_dc + 0x14)" * (cast_expression "(int *)((int)local_dc + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x14)" ( (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }) (else_clause "else {\n    pcVar13 = "";\n  }" else (compound_statement "{\n    pcVar13 = "";\n  }" { (expression_statement "pcVar13 = "";" (assignment_expression "pcVar13 = """ identifier = (string_literal """" " ")) ;) }))) (expression_statement "FUN_00076c30(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",\n               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13);" (call_expression "FUN_00076c30(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",\n               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13)" identifier (argument_list "(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",\n               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13)" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (string_literal "" FROM \'%q\'.\'%q%s\' AS x"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" * (cast_expression "(undefined4 *)((int)local_dc + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x10)" ( (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "*(size_t *)((int)local_dc + 0xdc) = local_64;" (assignment_expression "*(size_t *)((int)local_dc + 0xdc) = local_64" (pointer_expression "*(size_t *)((int)local_dc + 0xdc)" * (cast_expression "(size_t *)((int)local_dc + 0xdc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xdc)" ( (binary_expression "(int)local_dc + 0xdc" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (if_statement "if (local_a4 == (byte *)0x0) {\n    local_c8 = (undefined *)0x0;\n    puVar12 = &DAT_000f50ff;\n  }\n  else {\n    puVar12 = (undefined *)FUN_00041e40();\n    local_c8 = puVar12;\n  }" if (parenthesized_expression "(local_a4 == (byte *)0x0)" ( (binary_expression "local_a4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_c8 = (undefined *)0x0;\n    puVar12 = &DAT_000f50ff;\n  }" { (expression_statement "local_c8 = (undefined *)0x0;" (assignment_expression "local_c8 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar12 = &DAT_000f50ff;" (assignment_expression "puVar12 = &DAT_000f50ff" identifier = (pointer_expression "&DAT_000f50ff" & identifier)) ;) }) (else_clause "else {\n    puVar12 = (undefined *)FUN_00041e40();\n    local_c8 = puVar12;\n  }" else (compound_statement "{\n    puVar12 = (undefined *)FUN_00041e40();\n    local_c8 = puVar12;\n  }" { (expression_statement "puVar12 = (undefined *)FUN_00041e40();" (assignment_expression "puVar12 = (undefined *)FUN_00041e40()" identifier = (cast_expression "(undefined *)FUN_00041e40()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00041e40()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_c8 = puVar12;" (assignment_expression "local_c8 = puVar12" identifier = identifier) ;) }))) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "psVar30 = &local_64;" (assignment_expression "psVar30 = &local_64" identifier = (pointer_expression "&local_64" & identifier)) ;) (expression_statement "FUN_00076c30(&local_6c,&local_64,&DAT_000f8342);" (call_expression "FUN_00076c30(&local_6c,&local_64,&DAT_000f8342)" identifier (argument_list "(&local_6c,&local_64,&DAT_000f8342)" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (pointer_expression "&DAT_000f8342" & identifier) ))) ;) (if_statement "if (0 < *(int *)((int)local_dc + 0x18)) {\n    do {\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    } while (iVar21 < *(int *)((int)local_dc + 0x18));\n  }" if (parenthesized_expression "(0 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "0 < *(int *)((int)local_dc + 0x18)" number_literal < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n    do {\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    } while (iVar21 < *(int *)((int)local_dc + 0x18));\n  }" { (do_statement "do {\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    } while (iVar21 < *(int *)((int)local_dc + 0x18));" do (compound_statement "{\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    }" { (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "psVar30 = &local_64;" (assignment_expression "psVar30 = &local_64" identifier = (pointer_expression "&local_64" & identifier)) ;) (expression_statement "FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);" (call_expression "FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12)" identifier (argument_list "(&local_6c,&local_64,",%s(?)",puVar12)" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (string_literal "",%s(?)"" " string_content ") , identifier ))) ;) }) while (parenthesized_expression "(iVar21 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "iVar21 < *(int *)((int)local_dc + 0x18)" identifier < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) ;) })) (if_statement "if (*(int *)((int)local_dc + 0x2c) != 0) {\n    psVar30 = &local_64;\n    FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);\n  }" if (parenthesized_expression "(*(int *)((int)local_dc + 0x2c) != 0)" ( (binary_expression "*(int *)((int)local_dc + 0x2c) != 0" (pointer_expression "*(int *)((int)local_dc + 0x2c)" * (cast_expression "(int *)((int)local_dc + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x2c)" ( (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n    psVar30 = &local_64;\n    FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);\n  }" { (expression_statement "psVar30 = &local_64;" (assignment_expression "psVar30 = &local_64" identifier = (pointer_expression "&local_64" & identifier)) ;) (expression_statement "FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);" (call_expression "FUN_00076c30(&local_6c,&local_64,&DAT_000f8340)" identifier (argument_list "(&local_6c,&local_64,&DAT_000f8340)" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (pointer_expression "&DAT_000f8340" & identifier) ))) ;) })) (expression_statement "FUN_00024cc0(local_c8);" (call_expression "FUN_00024cc0(local_c8)" identifier (argument_list "(local_c8)" ( identifier ))) ;) (expression_statement "*(size_t *)((int)local_dc + 0xe0) = local_64;" (assignment_expression "*(size_t *)((int)local_dc + 0xe0) = local_64" (pointer_expression "*(size_t *)((int)local_dc + 0xe0)" * (cast_expression "(size_t *)((int)local_dc + 0xe0)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe0)" ( (binary_expression "(int)local_dc + 0xe0" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (local_6c == 0) {\n    if (param_1 == 0) {\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }\n    else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);\n    if (sVar7 == 0) {\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }\n    pcVar13 = "__langid";\n    if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }\n    FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);\n    iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));\n    if (iVar21 == 0) {\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }\n    else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }\n    FUN_00024cc0(iVar23);\n    FUN_00024cc0(iVar21);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    local_6c = sVar7;\n  }\n  else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }" if (parenthesized_expression "(local_6c == 0)" ( (binary_expression "local_6c == 0" identifier == number_literal) )) (compound_statement "{\n    if (param_1 == 0) {\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }\n    else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);\n    if (sVar7 == 0) {\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }\n    pcVar13 = "__langid";\n    if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }\n    FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);\n    iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));\n    if (iVar21 == 0) {\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }\n    else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }\n    FUN_00024cc0(iVar23);\n    FUN_00024cc0(iVar21);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    local_6c = sVar7;\n  }" { (if_statement "if (param_1 == 0) {\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }\n    else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }" { (if_statement "if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }" if (parenthesized_expression "(cVar1 != '4')" ( (binary_expression "cVar1 != '4'" identifier != (char_literal "'4'" ' character ')) )) (compound_statement "{\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }" { (expression_statement "*(undefined1 *)((int)local_dc + 0xe9) = 2;" (assignment_expression "*(undefined1 *)((int)local_dc + 0xe9) = 2" (pointer_expression "*(undefined1 *)((int)local_dc + 0xe9)" * (cast_expression "(undefined1 *)((int)local_dc + 0xe9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe9)" ( (binary_expression "(int)local_dc + 0xe9" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) }) (else_clause "else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }" else (compound_statement "{\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }" { (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "uVar17 = *(undefined4 *)((int)local_dc + 0xc);" (assignment_expression "uVar17 = *(undefined4 *)((int)local_dc + 0xc)" identifier = (pointer_expression "*(undefined4 *)((int)local_dc + 0xc)" * (cast_expression "(undefined4 *)((int)local_dc + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xc)" ( (binary_expression "(int)local_dc + 0xc" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }" if (parenthesized_expression "(*(int *)((int)local_dc + 0x28) == 0)" ( (binary_expression "*(int *)((int)local_dc + 0x28) == 0" (pointer_expression "*(int *)((int)local_dc + 0x28)" * (cast_expression "(int *)((int)local_dc + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x28)" ( (binary_expression "(int)local_dc + 0x28" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }" { (expression_statement "iVar21 = *(int *)((int)local_dc + 0x2c);" (assignment_expression "iVar21 = *(int *)((int)local_dc + 0x2c)" identifier = (pointer_expression "*(int *)((int)local_dc + 0x2c)" * (cast_expression "(int *)((int)local_dc + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x2c)" ( (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");" (assignment_expression "psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY")" identifier = (cast_expression "(size_t *)FUN_00071090("docid INTEGER PRIMARY KEY")" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00071090("docid INTEGER PRIMARY KEY")" identifier (argument_list "("docid INTEGER PRIMARY KEY")" ( (string_literal ""docid INTEGER PRIMARY KEY"" " string_content ") ))))) ;) (if_statement "if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }" if (parenthesized_expression "(psVar16 == (size_t *)0x0)" ( (binary_expression "psVar16 == (size_t *)0x0" identifier == (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }" { (labeled_statement "LAB_000d0ffd:\n          local_64 = 7;" statement_identifier : (expression_statement "local_64 = 7;" (assignment_expression "local_64 = 7" identifier = number_literal) ;)) (expression_statement "psVar16 = (size_t *)0x0;" (assignment_expression "psVar16 = (size_t *)0x0" identifier = (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }" else (compound_statement "{\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }" { (if_statement "if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }" if (parenthesized_expression "(0 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "0 < *(int *)((int)local_dc + 0x18)" number_literal < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }" { (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));" do (compound_statement "{\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            }" { (expression_statement "iVar8 = iVar23 + 1;" (assignment_expression "iVar8 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));" (assignment_expression "psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4))" identifier = (cast_expression "(size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4))" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4))" identifier (argument_list "("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4))" ( (string_literal ""%z, \'c%d%q\'"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , (pointer_expression "*(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4)" * (cast_expression "(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + iVar23 * 4)" ( (binary_expression "*(int *)((int)local_dc + 0x1c) + iVar23 * 4" (pointer_expression "*(int *)((int)local_dc + 0x1c)" * (cast_expression "(int *)((int)local_dc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (binary_expression "iVar23 * 4" identifier * number_literal)) )))) ))))) ;) (if_statement "if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;" if (parenthesized_expression "(psVar16 == (size_t *)0x0)" ( (binary_expression "psVar16 == (size_t *)0x0" identifier == (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d0ffd;" goto statement_identifier ;)) (expression_statement "iVar23 = iVar8;" (assignment_expression "iVar23 = iVar8" identifier = identifier) ;) }) while (parenthesized_expression "(iVar8 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "iVar8 < *(int *)((int)local_dc + 0x18)" identifier < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) ;) })) (if_statement "if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;" if (parenthesized_expression "((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0))" ( (binary_expression "(iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)" (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) && (parenthesized_expression "(psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)" ( (comma_expression "psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0" (assignment_expression "psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21)" identifier = (cast_expression "(size_t *)FUN_00071090("%z, langid",psVar16,iVar21)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00071090("%z, langid",psVar16,iVar21)" identifier (argument_list "("%z, langid",psVar16,iVar21)" ( (string_literal ""%z, langid"" " string_content ") , identifier , identifier ))))) , (binary_expression "psVar16 == (size_t *)0x0" identifier == (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000d0ffd;" goto statement_identifier ;)) }))) (expression_statement "psVar30 = psVar16;" (assignment_expression "psVar30 = psVar16" identifier = identifier) ;) (expression_statement "FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);" (call_expression "FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16)" identifier (argument_list "(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16)" ( (pointer_expression "&local_64" & identifier) , identifier , (string_literal ""CREATE TABLE %Q.\'%q_content\'(%s)"" " string_content escape_sequence string_content escape_sequence string_content ") , (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" * (cast_expression "(undefined4 *)((int)local_dc + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x10)" ( (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" * (cast_expression "(undefined4 *)((int)local_dc + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x14)" ( (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier ))) ;) (expression_statement "FUN_00024cc0(psVar16);" (call_expression "FUN_00024cc0(psVar16)" identifier (argument_list "(psVar16)" ( identifier ))) ;) })) (expression_statement "FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);" (call_expression "FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30)" identifier (argument_list "(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30)" ( (pointer_expression "&local_64" & identifier) , identifier , (string_literal ""CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);"" " string_content escape_sequence string_content escape_sequence string_content ") , (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" * (cast_expression "(undefined4 *)((int)local_dc + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x10)" ( (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" * (cast_expression "(undefined4 *)((int)local_dc + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x14)" ( (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier ))) ;) (expression_statement "FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));" (call_expression "FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14))" identifier (argument_list "(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14))" ( (pointer_expression "&local_64" & identifier) , identifier , (string_literal ""CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"" " string_content escape_sequence string_content escape_sequence string_content ") , (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" * (cast_expression "(undefined4 *)((int)local_dc + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x10)" ( (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" * (cast_expression "(undefined4 *)((int)local_dc + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x14)" ( (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (if_statement "if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }" if (parenthesized_expression "(*(char *)((int)local_dc + 0xea) != '\0')" ( (binary_expression "*(char *)((int)local_dc + 0xea) != '\0'" (pointer_expression "*(char *)((int)local_dc + 0xea)" * (cast_expression "(char *)((int)local_dc + 0xea)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xea)" ( (binary_expression "(int)local_dc + 0xea" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }" { (expression_statement "FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));" (call_expression "FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14))" identifier (argument_list "(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14))" ( (pointer_expression "&local_64" & identifier) , identifier , (string_literal ""CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);"" " string_content escape_sequence string_content escape_sequence string_content ") , (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" * (cast_expression "(undefined4 *)((int)local_dc + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x10)" ( (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" * (cast_expression "(undefined4 *)((int)local_dc + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x14)" ( (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (if_statement "if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }" if (parenthesized_expression "(*(char *)((int)local_dc + 0xe9) != '\0')" ( (binary_expression "*(char *)((int)local_dc + 0xe9) != '\0'" (pointer_expression "*(char *)((int)local_dc + 0xe9)" * (cast_expression "(char *)((int)local_dc + 0xe9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe9)" ( (binary_expression "(int)local_dc + 0xe9" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        FUN_000c9d90();\n      }" { (expression_statement "FUN_000c9d90();" (call_expression "FUN_000c9d90()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_6c = local_64;" (assignment_expression "local_6c = local_64" identifier = identifier) ;) (if_statement "if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }" if (parenthesized_expression "(local_64 != 0)" ( (binary_expression "local_64 != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }" { (expression_statement "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;" (assignment_expression "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xe4)" * (cast_expression "(int *)((int)local_dc + 0xe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe4)" ( (binary_expression "(int)local_dc + 0xe4" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xf0)" * (cast_expression "(int *)((int)local_dc + 0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xf0)" ( (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_000d0ab0;" goto statement_identifier ;) })) }))) (expression_statement "iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));" (assignment_expression "iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10))" identifier = (call_expression "FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10))" identifier (argument_list "("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10))" ( (string_literal ""PRAGMA %Q.page_size"" " string_content ") , (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" * (cast_expression "(undefined4 *)((int)local_dc + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x10)" ( (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "FUN_00024cc0(0);" (call_expression "FUN_00024cc0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" identifier = number_literal) ;) (expression_statement "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;" (assignment_expression "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xe4)" * (cast_expression "(int *)((int)local_dc + 0xe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe4)" ( (binary_expression "(int)local_dc + 0xe4" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xf0)" * (cast_expression "(int *)((int)local_dc + 0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xf0)" ( (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) (expression_statement "sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);" (assignment_expression "sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0)" identifier = (call_expression "FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0)" identifier (argument_list "(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0)" ( (pointer_expression "*(undefined4 *)((int)local_dc + 0xc)" * (cast_expression "(undefined4 *)((int)local_dc + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xc)" ( (binary_expression "(int)local_dc + 0xc" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier , number_literal , (pointer_expression "&local_64" & identifier) , number_literal )))) ;) (if_statement "if (sVar7 == 0) {\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }" if (parenthesized_expression "(sVar7 == 0)" ( (binary_expression "sVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }" { (expression_statement "FUN_000accc0(local_64);" (call_expression "FUN_000accc0(local_64)" identifier (argument_list "(local_64)" ( identifier ))) ;) (expression_statement "uVar17 = FUN_000384a0(local_64,0);" (assignment_expression "uVar17 = FUN_000384a0(local_64,0)" identifier = (call_expression "FUN_000384a0(local_64,0)" identifier (argument_list "(local_64,0)" ( identifier , number_literal )))) ;) (expression_statement "*(undefined4 *)((int)local_dc + 0xf0) = uVar17;" (assignment_expression "*(undefined4 *)((int)local_dc + 0xf0) = uVar17" (pointer_expression "*(undefined4 *)((int)local_dc + 0xf0)" * (cast_expression "(undefined4 *)((int)local_dc + 0xf0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xf0)" ( (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "sVar7 = FUN_00089c20(local_64);" (assignment_expression "sVar7 = FUN_00089c20(local_64)" identifier = (call_expression "FUN_00089c20(local_64)" identifier (argument_list "(local_64)" ( identifier )))) ;) (labeled_statement "LAB_000d0420:\n      FUN_00024cc0(iVar21);" statement_identifier : (expression_statement "FUN_00024cc0(iVar21);" (call_expression "FUN_00024cc0(iVar21)" identifier (argument_list "(iVar21)" ( identifier ))) ;)) (expression_statement "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;" (assignment_expression "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xe4)" * (cast_expression "(int *)((int)local_dc + 0xe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe4)" ( (binary_expression "(int)local_dc + 0xe4" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xf0)" * (cast_expression "(int *)((int)local_dc + 0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xf0)" ( (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "local_6c = sVar7;" (assignment_expression "local_6c = sVar7" identifier = identifier) ;) (if_statement "if (sVar7 != 0) goto LAB_000d0ab0;" if (parenthesized_expression "(sVar7 != 0)" ( (binary_expression "sVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000d0ab0;" goto statement_identifier ;)) }) (else_clause "else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }" else (compound_statement "{\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }" { (if_statement "if (sVar7 != 0x17) goto LAB_000d0420;" if (parenthesized_expression "(sVar7 != 0x17)" ( (binary_expression "sVar7 != 0x17" identifier != number_literal) )) (goto_statement "goto LAB_000d0420;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)local_dc + 0xf0) = 0x400;" (assignment_expression "*(undefined4 *)((int)local_dc + 0xf0) = 0x400" (pointer_expression "*(undefined4 *)((int)local_dc + 0xf0)" * (cast_expression "(undefined4 *)((int)local_dc + 0xf0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xf0)" ( (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00024cc0(iVar21);" (call_expression "FUN_00024cc0(iVar21)" identifier (argument_list "(iVar21)" ( identifier ))) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;" (assignment_expression "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xe4)" * (cast_expression "(int *)((int)local_dc + 0xe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe4)" ( (binary_expression "(int)local_dc + 0xe4" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xf0)" * (cast_expression "(int *)((int)local_dc + 0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xf0)" ( (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) }))) (expression_statement "pcVar13 = "__langid";" (assignment_expression "pcVar13 = "__langid"" identifier = (string_literal ""__langid"" " string_content ")) ;) (if_statement "if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }" if (parenthesized_expression "(*(char **)((int)local_dc + 0x2c) != (char *)0x0)" ( (binary_expression "*(char **)((int)local_dc + 0x2c) != (char *)0x0" (pointer_expression "*(char **)((int)local_dc + 0x2c)" * (cast_expression "(char **)((int)local_dc + 0x2c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x2c)" ( (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }" { (expression_statement "pcVar13 = *(char **)((int)local_dc + 0x2c);" (assignment_expression "pcVar13 = *(char **)((int)local_dc + 0x2c)" identifier = (pointer_expression "*(char **)((int)local_dc + 0x2c)" * (cast_expression "(char **)((int)local_dc + 0x2c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x2c)" ( (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) })) (expression_statement "FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);" (call_expression "FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1)" identifier (argument_list "(*(undefined4 *)((int)local_dc + 0xc),1,1)" ( (pointer_expression "*(undefined4 *)((int)local_dc + 0xc)" * (cast_expression "(undefined4 *)((int)local_dc + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xc)" ( (binary_expression "(int)local_dc + 0xc" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , number_literal , number_literal ))) ;) (expression_statement "iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));" (assignment_expression "iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c))" identifier = (call_expression "FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c))" identifier (argument_list "(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c))" ( (pointer_expression "&DAT_000f8377" & identifier) , (pointer_expression "**(undefined4 **)((int)local_dc + 0x1c)" * (pointer_expression "*(undefined4 **)((int)local_dc + 0x1c)" * (cast_expression "(undefined4 **)((int)local_dc + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )))) ;) (if_statement "if (iVar21 == 0) {\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }\n    else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }" { (labeled_statement "LAB_000d04d3:\n      iVar21 = 0;" statement_identifier : (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;)) (expression_statement "sVar7 = 7;" (assignment_expression "sVar7 = 7" identifier = number_literal) ;) (expression_statement "iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);" (assignment_expression "iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" identifier = (call_expression "FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" identifier (argument_list "("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" ( (string_literal ""CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)"" " string_content ") , number_literal , (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" * (cast_expression "(undefined4 *)((int)local_dc + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x14)" ( (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier )))) ;) }) (else_clause "else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }" else (compound_statement "{\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }" { (if_statement "if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }" if (parenthesized_expression "(1 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "1 < *(int *)((int)local_dc + 0x18)" number_literal < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }" { (expression_statement "iVar23 = 1;" (assignment_expression "iVar23 = 1" identifier = number_literal) ;) (do_statement "do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));" do (compound_statement "{\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        }" { (expression_statement "iVar8 = iVar23 * 4;" (assignment_expression "iVar8 = iVar23 * 4" identifier = (binary_expression "iVar23 * 4" identifier * number_literal)) ;) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));" (assignment_expression "iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8))" identifier = (call_expression "FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8))" identifier (argument_list "(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8))" ( (pointer_expression "&DAT_000f8375" & identifier) , identifier , (pointer_expression "*(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8)" * (cast_expression "(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + iVar8)" ( (binary_expression "*(int *)((int)local_dc + 0x1c) + iVar8" (pointer_expression "*(int *)((int)local_dc + 0x1c)" * (cast_expression "(int *)((int)local_dc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + identifier) )))) )))) ;) (if_statement "if (iVar21 == 0) goto LAB_000d04d3;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000d04d3;" goto statement_identifier ;)) }) while (parenthesized_expression "(iVar23 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "iVar23 < *(int *)((int)local_dc + 0x18)" identifier < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) ;) })) (expression_statement "sVar7 = 7;" (assignment_expression "sVar7 = 7" identifier = number_literal) ;) (expression_statement "iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);" (assignment_expression "iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" identifier = (call_expression "FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" identifier (argument_list "("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" ( (string_literal ""CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)"" " string_content ") , identifier , (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" * (cast_expression "(undefined4 *)((int)local_dc + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x14)" ( (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }" if (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) (compound_statement "{\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }" { (expression_statement "sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);" (assignment_expression "sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23)" identifier = (call_expression "FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23)" identifier (argument_list "(*(undefined4 *)((int)local_dc + 0xc),iVar23)" ( (pointer_expression "*(undefined4 *)((int)local_dc + 0xc)" * (cast_expression "(undefined4 *)((int)local_dc + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xc)" ( (binary_expression "(int)local_dc + 0xc" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier )))) ;) })) }))) (expression_statement "FUN_00024cc0(iVar23);" (call_expression "FUN_00024cc0(iVar23)" identifier (argument_list "(iVar23)" ( identifier ))) ;) (expression_statement "FUN_00024cc0(iVar21);" (call_expression "FUN_00024cc0(iVar21)" identifier (argument_list "(iVar21)" ( identifier ))) ;) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_6c = sVar7;" (assignment_expression "local_6c = sVar7" identifier = identifier) ;) }) (else_clause "else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }" else (compound_statement "{\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }" { (labeled_statement "LAB_000d0ab0:\n    local_9c = (byte *)0x0;" statement_identifier : (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_000cfaef:\n  FUN_00024cc0(local_a8);" statement_identifier : (expression_statement "FUN_00024cc0(local_a8);" (call_expression "FUN_00024cc0(local_a8)" identifier (argument_list "(local_a8)" ( identifier ))) ;)) (expression_statement "FUN_00024cc0(local_bc);" (call_expression "FUN_00024cc0(local_bc)" identifier (argument_list "(local_bc)" ( identifier ))) ;) (expression_statement "FUN_00024cc0(local_a4);" (call_expression "FUN_00024cc0(local_a4)" identifier (argument_list "(local_a4)" ( identifier ))) ;) (expression_statement "FUN_00024cc0(local_a0);" (call_expression "FUN_00024cc0(local_a0)" identifier (argument_list "(local_a0)" ( identifier ))) ;) (expression_statement "FUN_00024cc0(local_ac);" (call_expression "FUN_00024cc0(local_ac)" identifier (argument_list "(local_ac)" ( identifier ))) ;) (expression_statement "FUN_00024cc0(local_9c);" (call_expression "FUN_00024cc0(local_9c)" identifier (argument_list "(local_9c)" ( identifier ))) ;) (expression_statement "piVar22 = local_c0;" (assignment_expression "piVar22 = local_c0" identifier = identifier) ;) (if_statement "if (local_b0 != 0) {\n    do {\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    } while (local_c0 + local_b0 != piVar25);\n  }" if (parenthesized_expression "(local_b0 != 0)" ( (binary_expression "local_b0 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    } while (local_c0 + local_b0 != piVar25);\n  }" { (do_statement "do {\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    } while (local_c0 + local_b0 != piVar25);" do (compound_statement "{\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    }" { (expression_statement "piVar25 = piVar22 + 1;" (assignment_expression "piVar25 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024cc0(*piVar22);" (call_expression "FUN_00024cc0(*piVar22)" identifier (argument_list "(*piVar22)" ( (pointer_expression "*piVar22" * identifier) ))) ;) (expression_statement "piVar22 = piVar25;" (assignment_expression "piVar22 = piVar25" identifier = identifier) ;) }) while (parenthesized_expression "(local_c0 + local_b0 != piVar25)" ( (binary_expression "local_c0 + local_b0 != piVar25" (binary_expression "local_c0 + local_b0" identifier + identifier) != identifier) )) ;) })) (expression_statement "FUN_00024cc0(local_cc);" (call_expression "FUN_00024cc0(local_cc)" identifier (argument_list "(local_cc)" ( identifier ))) ;) (expression_statement "FUN_00024cc0(local_c0);" (call_expression "FUN_00024cc0(local_c0)" identifier (argument_list "(local_c0)" ( identifier ))) ;) (if_statement "if (local_6c == 0) {\n    *param_5 = local_dc;\n  }\n  else if (local_dc == (void *)0x0) {\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }\n  else {\n    FUN_0008cf60(local_dc);\n  }" if (parenthesized_expression "(local_6c == 0)" ( (binary_expression "local_6c == 0" identifier == number_literal) )) (compound_statement "{\n    *param_5 = local_dc;\n  }" { (expression_statement "*param_5 = local_dc;" (assignment_expression "*param_5 = local_dc" (pointer_expression "*param_5" * identifier) = identifier) ;) }) (else_clause "else if (local_dc == (void *)0x0) {\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }\n  else {\n    FUN_0008cf60(local_dc);\n  }" else (if_statement "if (local_dc == (void *)0x0) {\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }\n  else {\n    FUN_0008cf60(local_dc);\n  }" if (parenthesized_expression "(local_dc == (void *)0x0)" ( (binary_expression "local_dc == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }" { (if_statement "if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }" if (parenthesized_expression "(local_68 != (int *)0x0)" ( (binary_expression "local_68 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(*local_68 + 8))(local_68);\n    }" { (expression_statement "(**(code **)(*local_68 + 8))(local_68);" (call_expression "(**(code **)(*local_68 + 8))(local_68)" (parenthesized_expression "(**(code **)(*local_68 + 8))" ( (pointer_expression "**(code **)(*local_68 + 8)" * (pointer_expression "*(code **)(*local_68 + 8)" * (cast_expression "(code **)(*local_68 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_68 + 8)" ( (binary_expression "*local_68 + 8" (pointer_expression "*local_68" * identifier) + number_literal) ))))) )) (argument_list "(local_68)" ( identifier ))) ;) })) }) (else_clause "else {\n    FUN_0008cf60(local_dc);\n  }" else (compound_statement "{\n    FUN_0008cf60(local_dc);\n  }" { (expression_statement "FUN_0008cf60(local_dc);" (call_expression "FUN_0008cf60(local_dc)" identifier (argument_list "(local_dc)" ( identifier ))) ;) }))))) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_6c;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return local_6c;\n  }" { (return_statement "return local_6c;" return identifier ;) })) comment (expression_statement "FUN_000f4bf0();" (call_expression "FUN_000f4bf0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint __regparm3\nfts3InitVtab(int isCreate,sqlite3 *db,void *pAux,int argc,char **argv,sqlite3_vtab **ppVTab,\n            char **pzErr)\n\n{\n  char **ppcVar1;\n  int iVar2;\n  char cVar3;\n  char cVar4;\n  sqlite3 *db_00;\n  byte bVar5;\n  byte bVar6;\n  size_t sVar7;\n  size_t sVar8;\n  size_t sVar9;\n  int iVar10;\n  Fts3Index *pFVar11;\n  undefined4 *puVar12;\n  uint uVar13;\n  sqlite3_stmt **p;\n  byte *pbVar14;\n  byte *pbVar15;\n  byte *pbVar16;\n  int iVar17;\n  int *piVar18;\n  int iVar19;\n  char *pcVar20;\n  char *pcVar21;\n  int *piVar22;\n  int iVar23;\n  undefined4 *puVar24;\n  int in_GS_OFFSET;\n  bool bVar25;\n  bool bVar26;\n  sqlite3_stmt **ppsVar27;\n  Fts3Table *local_dc;\n  char *local_d0;\n  undefined4 *local_cc;\n  char *local_c8;\n  int *local_c0;\n  undefined4 *local_bc;\n  int local_b8;\n  char *local_b4;\n  int local_b0;\n  byte *local_ac;\n  byte *local_a8;\n  byte *local_a4;\n  byte *local_a0;\n  byte *local_9c;\n  int local_80;\n  int rc;\n  sqlite3_tokenizer *pTokenizer;\n  int n;\n  Fts4Option aFts4Opt [8];\n  \n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  rc = 0;\n  cVar3 = (*argv)[3];\n  pTokenizer = (sqlite3_tokenizer *)0x0;\n  sVar7 = strlen(argv[1]);\n  sVar8 = strlen(argv[2]);\n  uVar13 = argc * 4 - 8;\n  local_cc = (undefined4 *)sqlite3_malloc64((ulonglong)uVar13);\n  if (local_cc != (undefined4 *)0x0) {\n    memset(local_cc,0,uVar13);\n    local_c0 = (int *)sqlite3_malloc64((ulonglong)uVar13);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,uVar13);\n      if ((rc == 0) && (3 < argc)) {\n        iVar17 = 0;\n        local_d0 = (char *)0x0;\n        iVar19 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar26 = false;\n        bVar5 = 0;\nLAB_000cfa14:\n        pcVar21 = argv[iVar19];\n        iVar19 = iVar19 + 1;\n        if ((((pTokenizer == (sqlite3_tokenizer *)0x0) && (sVar9 = strlen(pcVar21), 8 < sVar9)) &&\n            (iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8), iVar10 == 0)) &&\n           ((-1 < pcVar21[8] && (isFtsIdChar_41700[pcVar21[8]] == '\0')))) {\n          rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,pcVar21 + 9,&pTokenizer,pzErr);\n          goto LAB_000cfa0c;\n        }\n        if (cVar3 == '4') {\n          cVar4 = *pcVar21;\n          pcVar20 = pcVar21;\n          if (cVar4 == '=') {\n            local_b4 = (char *)0x0;\n          }\n          else {\n            do {\n              if (cVar4 == '\0') goto LAB_000cf9db;\n              pcVar20 = pcVar20 + 1;\n              cVar4 = *pcVar20;\n            } while (cVar4 != '=');\n            local_b4 = (char *)((int)pcVar20 - (int)pcVar21);\n          }\n          pbVar15 = (byte *)sqlite3_mprintf("%s",pcVar20 + 1);\n          if (pbVar15 != (byte *)0x0) {\n            sqlite3Fts3Dequote((char *)pbVar15);\n          }\n          aFts4Opt[0].nOpt = 9;\n          aFts4Opt[1].nOpt = 6;\n          aFts4Opt[0].zOpt = "matchinfo";\n          aFts4Opt[1].zOpt = "prefix";\n          aFts4Opt[2].zOpt = "compress";\n          aFts4Opt[3].zOpt = "uncompress";\n          aFts4Opt[4].zOpt = "order";\n          aFts4Opt[5].zOpt = "content";\n          aFts4Opt[6].zOpt = "languageid";\n          aFts4Opt[2].nOpt = 8;\n          aFts4Opt[3].nOpt = 10;\n          aFts4Opt[4].nOpt = 5;\n          aFts4Opt[5].nOpt = 7;\n          aFts4Opt[6].nOpt = 10;\n          aFts4Opt[7].zOpt = "notindexed";\n          aFts4Opt[7].nOpt = 10;\n          if (pbVar15 != (byte *)0x0) {\n            iVar10 = 9;\n            iVar23 = 0;\n            do {\n              pbVar16 = pbVar15;\n              if ((local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)) {\n                switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar23 = iVar23 + 1;\n              if (iVar23 == 8) goto LAB_000d0688;\n              iVar10 = aFts4Opt[iVar23].nOpt;\n            } while( true );\n          }\n          rc = 7;\n          bVar25 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar9 = strlen(pcVar21);\n        local_d0 = (char *)((int)local_d0 + 1U + sVar9);\n        local_cc[iVar17] = pcVar21;\n        iVar17 = iVar17 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar5 = 0;\n      iVar17 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar26 = false;\n      local_d0 = (char *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }\n  rc = 7;\n  local_c0 = (int *)0x0;\n  local_bc = (undefined4 *)0x0;\n  local_b0 = 0;\n  local_9c = (byte *)0x0;\n  local_ac = (byte *)0x0;\n  local_a0 = (byte *)0x0;\n  local_a4 = (byte *)0x0;\n  local_a8 = (byte *)0x0;\n  local_dc = (Fts3Table *)0x0;\n  goto LAB_000cfaef;\nLAB_000d0688:\n  sqlite3Fts3ErrMsg(pzErr,"unrecognized parameter: %s",pcVar21);\n  rc = 1;\nLAB_000d06b8:\n  sqlite3_free(pbVar16);\nLAB_000cfa0c:\n  bVar25 = rc == 0;\n  if (argc <= iVar19 || !bVar25) goto LAB_000cfd03;\n  goto LAB_000cfa14;\nLAB_000d08d0:\n  iVar19 = iVar19 + 1;\n  if (iVar19 == iVar17) goto LAB_000cfd38;\n  goto LAB_000d08db;\nLAB_000cfd03:\n  if ((local_ac == (byte *)0x0) || (!bVar25)) {\nLAB_000d0578:\n    if (rc != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }\n  sqlite3_free(local_a4);\n  sqlite3_free(local_a0);\n  if (iVar17 == 0) {\n    sqlite3_free(local_cc);\n    n = 0;\n    pcVar21 = sqlite3_mprintf("SELECT * FROM %Q.%Q",argv[1],local_ac);\n    if (pcVar21 == (char *)0x0) {\n      sqlite3_free((void *)0x0);\n      rc = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    iVar17 = sqlite3_prepare(db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0);\n    if (iVar17 != 0) {\n      pcVar20 = sqlite3_errmsg(db);\n      sqlite3Fts3ErrMsg(pzErr,"%s",pcVar20);\n      sqlite3_free(pcVar21);\n      rc = iVar17;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    sqlite3_free(pcVar21);\n    iVar17 = sqlite3_column_count((sqlite3_stmt *)n);\n    if (iVar17 < 1) {\n      local_cc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)(iVar17 * 4));\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      sqlite3_finalize((sqlite3_stmt *)n);\n      rc = 0;\n      local_d0 = (char *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (char *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar19 = 0;\n      local_d0 = (char *)0x0;\n      iVar10 = 0;\n      do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar10);\n        sVar9 = strlen(pcVar21);\n        bVar25 = CARRY4((uint)local_d0,sVar9 + 1);\n        local_d0 = (char *)((int)local_d0 + sVar9 + 1);\n        iVar19 = iVar19 + (uint)bVar25;\n        iVar10 = iVar10 + 1;\n      } while (iVar17 != iVar10);\n      local_cc = (undefined4 *)\n                 sqlite3_malloc64(CONCAT44(iVar19 + (uint)CARRY4(iVar17 * 4,(uint)local_d0),\n                                           iVar17 * 4 + (int)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        sqlite3_finalize((sqlite3_stmt *)n);\n        rc = 7;\n        goto LAB_000d0e57;\n      }\n      iVar19 = 0;\n      puVar24 = local_cc + iVar17;\n      do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar19);\n        sVar9 = strlen(pcVar21);\n        memcpy(puVar24,pcVar21,sVar9 + 1);\n        local_cc[iVar19] = puVar24;\n        puVar24 = (undefined4 *)((int)puVar24 + sVar9 + 1);\n        iVar19 = iVar19 + 1;\n      } while (iVar17 != iVar19);\n      sqlite3_finalize((sqlite3_stmt *)n);\n      rc = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar19 = 0;\nLAB_000d08db:\n        iVar10 = sqlite3_stricmp((char *)local_9c,(char *)local_cc[iVar19]);\n        if (iVar10 != 0) goto LAB_000d08d0;\n        puVar24 = local_cc + iVar19;\n        if (iVar19 < iVar17) {\n          do {\n            puVar12 = puVar24 + 1;\n            *puVar24 = puVar24[1];\n            puVar24 = puVar12;\n          } while (local_cc + iVar17 != puVar12);\n        }\n        iVar17 = iVar17 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      rc = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar17 == 0) {\n      iVar17 = 1;\n      local_d0 = (char *)0x8;\n      *local_cc = "content";\n    }\n  }\n  else {\nLAB_000cfd38:\n    if (rc != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    rc = 0;\n  }\n  if (pTokenizer == (sqlite3_tokenizer *)0x0) {\n    rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,"simple",&pTokenizer,pzErr);\n    local_bc = (undefined4 *)0x0;\n    if (rc != 0) {\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n  }\n  if (local_a8 == (byte *)0x0) {\n    local_bc = (undefined4 *)sqlite3_malloc64(0x18);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar13 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;\n      uVar13 = uVar13 + 4;\n    } while (uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    rc = 0;\n    iVar19 = 6;\n    local_80 = 1;\n    local_b4 = (char *)0x1;\n  }\n  else {\n    bVar6 = *local_a8;\n    if (bVar6 == 0) {\n      local_bc = (undefined4 *)sqlite3_malloc64(0x18);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar13 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;\n        uVar13 = uVar13 + 4;\n      } while (uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar19 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (char *)0x2;\n      pbVar15 = local_a8;\n      do {\n        pbVar15 = pbVar15 + 1;\n        local_b4 = (char *)((int)local_b4 + (uint)(bVar6 == 0x2c));\n        bVar6 = *pbVar15;\n      } while (bVar6 != 0);\n      local_bc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)((int)local_b4 * 0x18));\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        rc = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (Fts3Table *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar15 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar15 - 0x30)) {\nLAB_000d094c:\n          rc = 1;\n          sqlite3Fts3ErrMsg(pzErr,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (char *)rc;\n          if (rc != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar19 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar19 = (char)*pbVar15 + -0x30;\n        pbVar16 = pbVar15;\n        do {\n          pbVar14 = pbVar16;\n          pbVar16 = pbVar14 + 1;\n          if (9 < (byte)(pbVar14[1] - 0x30)) {\n            if (pbVar16 == pbVar15) goto LAB_000d094c;\n            if (iVar19 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar19;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar19 = (char)pbVar14[1] + -0x30 + iVar19 * 10;\n        } while (iVar19 < 0x989681);\n        if (pbVar16 == pbVar15) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (char *)((int)local_b4 + -1);\nLAB_000cfe51:\n        pbVar15 = pbVar14 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (int)local_b4;\n      iVar19 = (int)local_b4 * 6;\n    }\n    rc = 0;\n    local_b4 = (char *)local_80;\n  }\nLAB_000cfe77:\n  sVar7 = sVar7 + 1;\n  sVar8 = sVar8 + 1;\n  uVar13 = sVar8 + sVar7 + iVar17 * 5 + (int)local_d0 + iVar19 * 4 + 0x11c;\n  local_dc = (Fts3Table *)sqlite3_malloc64((ulonglong)uVar13);\n  if (local_dc == (Fts3Table *)0x0) {\n    rc = 7;\n    goto LAB_000cfaef;\n  }\n  bVar25 = cVar3 == '4';\n  memset(local_dc,0,uVar13);\n  local_dc->nColumn = iVar17;\n  local_dc->nAutoincrmerge = 0xff;\n  local_dc->pTokenizer = pTokenizer;\n  local_dc->db = db;\n  local_dc->azColumn = (char **)(local_dc + 1);\n  local_dc->bHasStat = bVar25;\n  local_dc->bFts4 = bVar25;\n  local_dc->bHasDocsize = (bVar5 ^ 1) & bVar25;\n  local_dc->bDescIdx = bVar26;\n  local_dc->nPendingData = 0;\n  local_dc->nMaxPendingData = 0x100000;\n  local_dc->zContentTbl = (char *)local_ac;\n  local_dc->zLanguageid = (char *)local_9c;\n  pFVar11 = (Fts3Index *)(local_dc[1].aStmt + iVar17 + -0xe);\n  local_dc->aIndex = pFVar11;\n  memcpy(pFVar11,local_bc,local_80 * 0x18);\n  iVar19 = 0;\n  local_dc->nIndex = (int)local_b4;\n  if (local_b4 != (char *)0x0) {\n    do {\n      pFVar11 = local_dc->aIndex;\n      iVar10 = iVar19 + 1;\n      pFVar11[iVar19].hPending.keyClass = '\x01';\n      pFVar11[iVar19].hPending.copyKey = '\x01';\n      pFVar11[iVar19].hPending.first = (Fts3HashElem *)0x0;\n      pFVar11[iVar19].hPending.count = 0;\n      pFVar11[iVar19].hPending.htsize = 0;\n      pFVar11[iVar19].hPending.ht = (_fts3ht *)0x0;\n      iVar19 = iVar10;\n    } while (local_b4 != (char *)iVar10);\n  }\n  local_dc->abNotindexed = (u8 *)(local_dc->aIndex + local_80);\n  pcVar21 = (char *)((int)&local_dc->aIndex[local_80].nPrefix + iVar17);\n  local_dc->zName = pcVar21;\n  pcVar20 = pcVar21 + sVar8;\n  memcpy(pcVar21,argv[2],sVar8);\n  local_dc->zDb = pcVar20;\n  pcVar21 = pcVar20 + sVar7;\n  iVar19 = 0;\n  memcpy(pcVar20,argv[1],sVar7);\n  if (0 < iVar17) {\n    do {\n      n = 0;\n      pcVar20 = sqlite3Fts3NextToken(*(char **)((int)local_cc + iVar19),&n);\n      if (0 < n) {\n        memcpy(pcVar21,pcVar20,n);\n      }\n      pcVar21[n] = '\0';\n      sqlite3Fts3Dequote(pcVar21);\n      *(char **)((int)local_dc->azColumn + iVar19) = pcVar21;\n      iVar19 = iVar19 + 4;\n      pcVar21 = pcVar21 + n + 1;\n    } while (iVar17 * 4 != iVar19);\n    local_c8 = (char *)0x0;\n    do {\n      sVar7 = strlen(local_dc->azColumn[(int)local_c8]);\n      piVar18 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)) &&\n                 (iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),\n                 iVar19 == 0))) {\n            piVar22 = piVar18 + 1;\n            local_dc->abNotindexed[(int)local_c8] = '\x01';\n            sqlite3_free(pcVar21);\n            *piVar18 = 0;\n            piVar18 = piVar22;\n            if (local_c0 + local_b0 == piVar22) goto LAB_000d0168;\n          }\n          piVar18 = piVar18 + 1;\n        } while (local_c0 + local_b0 != piVar18);\n      }\nLAB_000d0168:\n      local_c8 = (char *)((int)local_c8 + 1);\n    } while (local_c8 != (char *)iVar17);\n  }\n  piVar18 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      if (*piVar18 != 0) {\n        sqlite3Fts3ErrMsg(pzErr,"no such column: %s",*piVar18);\n        rc = 1;\n      }\n      piVar18 = piVar18 + 1;\n    } while (local_c0 + local_b0 != piVar18);\n  }\n  if ((rc == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {\n    rc = 1;\n    pcVar21 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar21 = "compress";\n    }\n    sqlite3Fts3ErrMsg(pzErr,"missing %s parameter in fts4 constructor",pcVar21);\n  }\n  n = 0;\n  if (local_dc->zContentTbl == (char *)0x0) {\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = "";\n      local_b4 = (char *)0x0;\n    }\n    else {\n      local_d0 = fts3QuoteId((char *)local_a0);\n      local_b4 = local_d0;\n    }\n    iVar17 = 0;\n    fts3Appendf(&rc,(char **)&n,"docid");\n    if (0 < local_dc->nColumn) {\n      do {\n        iVar19 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,",%s(x.\'c%d%q\')",local_d0,iVar17,local_dc->azColumn[iVar17]);\n        iVar17 = iVar19;\n      } while (iVar19 < local_dc->nColumn);\n    }\n    if (local_dc->zLanguageid != (char *)0x0) {\n      fts3Appendf(&rc,(char **)&n,", x.%Q","langid");\n    }\n    sqlite3_free(local_b4);\n  }\n  else {\n    fts3Appendf(&rc,(char **)&n,"rowid");\n    if (0 < local_dc->nColumn) {\n      iVar17 = 0;\n      do {\n        ppcVar1 = local_dc->azColumn + iVar17;\n        iVar17 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,", x.\'%q\'",*ppcVar1);\n      } while (iVar17 < local_dc->nColumn);\n    }\n    if (local_dc->zLanguageid != (char *)0x0) {\n      fts3Appendf(&rc,(char **)&n,", x.%Q",local_dc->zLanguageid);\n    }\n  }\n  pcVar21 = local_dc->zContentTbl;\n  if (pcVar21 == (char *)0x0) {\n    pcVar20 = "_content";\n    pcVar21 = local_dc->zName;\n  }\n  else {\n    pcVar20 = "";\n  }\n  fts3Appendf(&rc,(char **)&n," FROM \'%q\'.\'%q%s\' AS x",local_dc->zDb,pcVar21,pcVar20);\n  local_dc->zReadExprlist = (char *)n;\n  n = 0;\n  if (local_a4 == (byte *)0x0) {\n    local_c8 = (char *)0x0;\n    pcVar21 = "";\n  }\n  else {\n    pcVar21 = fts3QuoteId((char *)local_a4);\n    local_c8 = pcVar21;\n  }\n  iVar17 = 0;\n  ppsVar27 = (sqlite3_stmt **)&n;\n  fts3Appendf(&rc,(char **)&n,"?");\n  if (0 < local_dc->nColumn) {\n    do {\n      iVar17 = iVar17 + 1;\n      ppsVar27 = (sqlite3_stmt **)&n;\n      fts3Appendf(&rc,(char **)&n,",%s(?)",pcVar21);\n    } while (iVar17 < local_dc->nColumn);\n  }\n  if (local_dc->zLanguageid != (char *)0x0) {\n    ppsVar27 = (sqlite3_stmt **)&n;\n    fts3Appendf(&rc,(char **)&n,", ?");\n  }\n  sqlite3_free(local_c8);\n  local_dc->zWriteExprlist = (char *)n;\n  if (rc == 0) {\n    if (isCreate == 0) {\n      if (cVar3 != '4') {\n        local_dc->bHasStat = '\x02';\n      }\n    }\n    else {\n      n = 0;\n      db_00 = local_dc->db;\n      if (local_dc->zContentTbl == (char *)0x0) {\n        pcVar21 = local_dc->zLanguageid;\n        p = (sqlite3_stmt **)sqlite3_mprintf("docid INTEGER PRIMARY KEY");\n        if (p == (sqlite3_stmt **)0x0) {\nLAB_000d0ffd:\n          n = 7;\n          p = (sqlite3_stmt **)0x0;\n        }\n        else {\n          if (0 < local_dc->nColumn) {\n            iVar17 = 0;\n            do {\n              iVar19 = iVar17 + 1;\n              p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);\n              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;\n              iVar17 = iVar19;\n            } while (iVar19 < local_dc->nColumn);\n          }\n          if ((pcVar21 != (char *)0x0) &&\n             (p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0)) goto LAB_000d0ffd;\n        }\n        ppsVar27 = p;\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_content\'(%s)",local_dc->zDb,local_dc->zName,p);\n        sqlite3_free(p);\n      }\n      fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                 local_dc->zDb,local_dc->zName,ppsVar27);\n      fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                 ,local_dc->zDb,local_dc->zName);\n      if (local_dc->bHasDocsize != '\0') {\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                   local_dc->zDb,local_dc->zName);\n      }\n      if (local_dc->bHasStat != '\0') {\n        sqlite3Fts3CreateStatTable(&n,local_dc);\n      }\n      rc = n;\n      if (n != 0) {\n        local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    pcVar21 = sqlite3_mprintf("PRAGMA %Q.page_size",local_dc->zDb);\n    if (pcVar21 == (char *)0x0) {\n      sqlite3_free((void *)0x0);\n      rc = 7;\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    iVar17 = sqlite3_prepare(local_dc->db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0);\n    if (iVar17 == 0) {\n      sqlite3_step((sqlite3_stmt *)n);\n      iVar17 = sqlite3_column_int((sqlite3_stmt *)n,0);\n      local_dc->nPgsz = iVar17;\n      iVar17 = sqlite3_finalize((sqlite3_stmt *)n);\nLAB_000d0420:\n      sqlite3_free(pcVar21);\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n      rc = iVar17;\n      if (iVar17 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (iVar17 != 0x17) goto LAB_000d0420;\n      local_dc->nPgsz = 0x400;\n      sqlite3_free(pcVar21);\n      rc = 0;\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n    }\n    pcVar21 = "__langid";\n    if (local_dc->zLanguageid != (char *)0x0) {\n      pcVar21 = local_dc->zLanguageid;\n    }\n    sqlite3_vtab_config(local_dc->db,1,1);\n    pcVar20 = sqlite3_mprintf("%Q, ",*local_dc->azColumn);\n    if (pcVar20 == (char *)0x0) {\nLAB_000d04d3:\n      pcVar20 = (char *)0x0;\n      iVar17 = 7;\n      pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                                local_dc->zName,pcVar21);\n    }\n    else {\n      if (1 < local_dc->nColumn) {\n        iVar17 = 1;\n        do {\n          ppcVar1 = local_dc->azColumn + iVar17;\n          iVar17 = iVar17 + 1;\n          pcVar20 = sqlite3_mprintf("%z%Q, ",pcVar20,*ppcVar1);\n          if (pcVar20 == (char *)0x0) goto LAB_000d04d3;\n        } while (iVar17 < local_dc->nColumn);\n      }\n      iVar17 = 7;\n      pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",pcVar20,\n                                local_dc->zName,pcVar21);\n      if (pcVar21 != (char *)0x0) {\n        iVar17 = sqlite3_declare_vtab(local_dc->db,pcVar21);\n      }\n    }\n    sqlite3_free(pcVar21);\n    sqlite3_free(pcVar20);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    rc = iVar17;\n  }\n  else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }\nLAB_000cfaef:\n  sqlite3_free(local_a8);\n  sqlite3_free(local_bc);\n  sqlite3_free(local_a4);\n  sqlite3_free(local_a0);\n  sqlite3_free(local_ac);\n  sqlite3_free(local_9c);\n  piVar18 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      piVar22 = piVar18 + 1;\n      sqlite3_free((void *)*piVar18);\n      piVar18 = piVar22;\n    } while (local_c0 + local_b0 != piVar22);\n  }\n  sqlite3_free(local_cc);\n  sqlite3_free(local_c0);\n  if (rc == 0) {\n    *ppVTab = &local_dc->base;\n  }\n  else if (local_dc == (Fts3Table *)0x0) {\n    if (pTokenizer != (sqlite3_tokenizer *)0x0) {\n      (*pTokenizer->pModule->xDestroy)(pTokenizer);\n    }\n  }\n  else {\n    fts3DisconnectMethod(&local_dc->base);\n  }\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return rc;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment (function_definition "int __regparm3\nfts3InitVtab(int isCreate,sqlite3 *db,void *pAux,int argc,char **argv,sqlite3_vtab **ppVTab,\n            char **pzErr)\n\n{\n  char **ppcVar1;\n  int iVar2;\n  char cVar3;\n  char cVar4;\n  sqlite3 *db_00;\n  byte bVar5;\n  byte bVar6;\n  size_t sVar7;\n  size_t sVar8;\n  size_t sVar9;\n  int iVar10;\n  Fts3Index *pFVar11;\n  undefined4 *puVar12;\n  uint uVar13;\n  sqlite3_stmt **p;\n  byte *pbVar14;\n  byte *pbVar15;\n  byte *pbVar16;\n  int iVar17;\n  int *piVar18;\n  int iVar19;\n  char *pcVar20;\n  char *pcVar21;\n  int *piVar22;\n  int iVar23;\n  undefined4 *puVar24;\n  int in_GS_OFFSET;\n  bool bVar25;\n  bool bVar26;\n  sqlite3_stmt **ppsVar27;\n  Fts3Table *local_dc;\n  char *local_d0;\n  undefined4 *local_cc;\n  char *local_c8;\n  int *local_c0;\n  undefined4 *local_bc;\n  int local_b8;\n  char *local_b4;\n  int local_b0;\n  byte *local_ac;\n  byte *local_a8;\n  byte *local_a4;\n  byte *local_a0;\n  byte *local_9c;\n  int local_80;\n  int rc;\n  sqlite3_tokenizer *pTokenizer;\n  int n;\n  Fts4Option aFts4Opt [8];\n  \n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  rc = 0;\n  cVar3 = (*argv)[3];\n  pTokenizer = (sqlite3_tokenizer *)0x0;\n  sVar7 = strlen(argv[1]);\n  sVar8 = strlen(argv[2]);\n  uVar13 = argc * 4 - 8;\n  local_cc = (undefined4 *)sqlite3_malloc64((ulonglong)uVar13);\n  if (local_cc != (undefined4 *)0x0) {\n    memset(local_cc,0,uVar13);\n    local_c0 = (int *)sqlite3_malloc64((ulonglong)uVar13);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,uVar13);\n      if ((rc == 0) && (3 < argc)) {\n        iVar17 = 0;\n        local_d0 = (char *)0x0;\n        iVar19 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar26 = false;\n        bVar5 = 0;\nLAB_000cfa14:\n        pcVar21 = argv[iVar19];\n        iVar19 = iVar19 + 1;\n        if ((((pTokenizer == (sqlite3_tokenizer *)0x0) && (sVar9 = strlen(pcVar21), 8 < sVar9)) &&\n            (iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8), iVar10 == 0)) &&\n           ((-1 < pcVar21[8] && (isFtsIdChar_41700[pcVar21[8]] == '\0')))) {\n          rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,pcVar21 + 9,&pTokenizer,pzErr);\n          goto LAB_000cfa0c;\n        }\n        if (cVar3 == '4') {\n          cVar4 = *pcVar21;\n          pcVar20 = pcVar21;\n          if (cVar4 == '=') {\n            local_b4 = (char *)0x0;\n          }\n          else {\n            do {\n              if (cVar4 == '\0') goto LAB_000cf9db;\n              pcVar20 = pcVar20 + 1;\n              cVar4 = *pcVar20;\n            } while (cVar4 != '=');\n            local_b4 = (char *)((int)pcVar20 - (int)pcVar21);\n          }\n          pbVar15 = (byte *)sqlite3_mprintf("%s",pcVar20 + 1);\n          if (pbVar15 != (byte *)0x0) {\n            sqlite3Fts3Dequote((char *)pbVar15);\n          }\n          aFts4Opt[0].nOpt = 9;\n          aFts4Opt[1].nOpt = 6;\n          aFts4Opt[0].zOpt = "matchinfo";\n          aFts4Opt[1].zOpt = "prefix";\n          aFts4Opt[2].zOpt = "compress";\n          aFts4Opt[3].zOpt = "uncompress";\n          aFts4Opt[4].zOpt = "order";\n          aFts4Opt[5].zOpt = "content";\n          aFts4Opt[6].zOpt = "languageid";\n          aFts4Opt[2].nOpt = 8;\n          aFts4Opt[3].nOpt = 10;\n          aFts4Opt[4].nOpt = 5;\n          aFts4Opt[5].nOpt = 7;\n          aFts4Opt[6].nOpt = 10;\n          aFts4Opt[7].zOpt = "notindexed";\n          aFts4Opt[7].nOpt = 10;\n          if (pbVar15 != (byte *)0x0) {\n            iVar10 = 9;\n            iVar23 = 0;\n            do {\n              pbVar16 = pbVar15;\n              if ((local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)) {\n                switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar23 = iVar23 + 1;\n              if (iVar23 == 8) goto LAB_000d0688;\n              iVar10 = aFts4Opt[iVar23].nOpt;\n            } while( true );\n          }\n          rc = 7;\n          bVar25 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar9 = strlen(pcVar21);\n        local_d0 = (char *)((int)local_d0 + 1U + sVar9);\n        local_cc[iVar17] = pcVar21;\n        iVar17 = iVar17 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar5 = 0;\n      iVar17 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar26 = false;\n      local_d0 = (char *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }\n  rc = 7;\n  local_c0 = (int *)0x0;\n  local_bc = (undefined4 *)0x0;\n  local_b0 = 0;\n  local_9c = (byte *)0x0;\n  local_ac = (byte *)0x0;\n  local_a0 = (byte *)0x0;\n  local_a4 = (byte *)0x0;\n  local_a8 = (byte *)0x0;\n  local_dc = (Fts3Table *)0x0;\n  goto LAB_000cfaef;\nLAB_000d0688:\n  sqlite3Fts3ErrMsg(pzErr,"unrecognized parameter: %s",pcVar21);\n  rc = 1;\nLAB_000d06b8:\n  sqlite3_free(pbVar16);\nLAB_000cfa0c:\n  bVar25 = rc == 0;\n  if (argc <= iVar19 || !bVar25) goto LAB_000cfd03;\n  goto LAB_000cfa14;\nLAB_000d08d0:\n  iVar19 = iVar19 + 1;\n  if (iVar19 == iVar17) goto LAB_000cfd38;\n  goto LAB_000d08db;\nLAB_000cfd03:\n  if ((local_ac == (byte *)0x0) || (!bVar25)) {\nLAB_000d0578:\n    if (rc != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }\n  sqlite3_free(local_a4);\n  sqlite3_free(local_a0);\n  if (iVar17 == 0) {\n    sqlite3_free(local_cc);\n    n = 0;\n    pcVar21 = sqlite3_mprintf("SELECT * FROM %Q.%Q",argv[1],local_ac);\n    if (pcVar21 == (char *)0x0) {\n      sqlite3_free((void *)0x0);\n      rc = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    iVar17 = sqlite3_prepare(db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0);\n    if (iVar17 != 0) {\n      pcVar20 = sqlite3_errmsg(db);\n      sqlite3Fts3ErrMsg(pzErr,"%s",pcVar20);\n      sqlite3_free(pcVar21);\n      rc = iVar17;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    sqlite3_free(pcVar21);\n    iVar17 = sqlite3_column_count((sqlite3_stmt *)n);\n    if (iVar17 < 1) {\n      local_cc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)(iVar17 * 4));\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      sqlite3_finalize((sqlite3_stmt *)n);\n      rc = 0;\n      local_d0 = (char *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (char *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar19 = 0;\n      local_d0 = (char *)0x0;\n      iVar10 = 0;\n      do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar10);\n        sVar9 = strlen(pcVar21);\n        bVar25 = CARRY4((uint)local_d0,sVar9 + 1);\n        local_d0 = (char *)((int)local_d0 + sVar9 + 1);\n        iVar19 = iVar19 + (uint)bVar25;\n        iVar10 = iVar10 + 1;\n      } while (iVar17 != iVar10);\n      local_cc = (undefined4 *)\n                 sqlite3_malloc64(CONCAT44(iVar19 + (uint)CARRY4(iVar17 * 4,(uint)local_d0),\n                                           iVar17 * 4 + (int)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        sqlite3_finalize((sqlite3_stmt *)n);\n        rc = 7;\n        goto LAB_000d0e57;\n      }\n      iVar19 = 0;\n      puVar24 = local_cc + iVar17;\n      do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar19);\n        sVar9 = strlen(pcVar21);\n        memcpy(puVar24,pcVar21,sVar9 + 1);\n        local_cc[iVar19] = puVar24;\n        puVar24 = (undefined4 *)((int)puVar24 + sVar9 + 1);\n        iVar19 = iVar19 + 1;\n      } while (iVar17 != iVar19);\n      sqlite3_finalize((sqlite3_stmt *)n);\n      rc = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar19 = 0;\nLAB_000d08db:\n        iVar10 = sqlite3_stricmp((char *)local_9c,(char *)local_cc[iVar19]);\n        if (iVar10 != 0) goto LAB_000d08d0;\n        puVar24 = local_cc + iVar19;\n        if (iVar19 < iVar17) {\n          do {\n            puVar12 = puVar24 + 1;\n            *puVar24 = puVar24[1];\n            puVar24 = puVar12;\n          } while (local_cc + iVar17 != puVar12);\n        }\n        iVar17 = iVar17 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      rc = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar17 == 0) {\n      iVar17 = 1;\n      local_d0 = (char *)0x8;\n      *local_cc = "content";\n    }\n  }\n  else {\nLAB_000cfd38:\n    if (rc != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    rc = 0;\n  }\n  if (pTokenizer == (sqlite3_tokenizer *)0x0) {\n    rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,"simple",&pTokenizer,pzErr);\n    local_bc = (undefined4 *)0x0;\n    if (rc != 0) {\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n  }\n  if (local_a8 == (byte *)0x0) {\n    local_bc = (undefined4 *)sqlite3_malloc64(0x18);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar13 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;\n      uVar13 = uVar13 + 4;\n    } while (uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    rc = 0;\n    iVar19 = 6;\n    local_80 = 1;\n    local_b4 = (char *)0x1;\n  }\n  else {\n    bVar6 = *local_a8;\n    if (bVar6 == 0) {\n      local_bc = (undefined4 *)sqlite3_malloc64(0x18);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar13 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;\n        uVar13 = uVar13 + 4;\n      } while (uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar19 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (char *)0x2;\n      pbVar15 = local_a8;\n      do {\n        pbVar15 = pbVar15 + 1;\n        local_b4 = (char *)((int)local_b4 + (uint)(bVar6 == 0x2c));\n        bVar6 = *pbVar15;\n      } while (bVar6 != 0);\n      local_bc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)((int)local_b4 * 0x18));\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        rc = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (Fts3Table *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar15 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar15 - 0x30)) {\nLAB_000d094c:\n          rc = 1;\n          sqlite3Fts3ErrMsg(pzErr,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (char *)rc;\n          if (rc != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar19 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar19 = (char)*pbVar15 + -0x30;\n        pbVar16 = pbVar15;\n        do {\n          pbVar14 = pbVar16;\n          pbVar16 = pbVar14 + 1;\n          if (9 < (byte)(pbVar14[1] - 0x30)) {\n            if (pbVar16 == pbVar15) goto LAB_000d094c;\n            if (iVar19 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar19;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar19 = (char)pbVar14[1] + -0x30 + iVar19 * 10;\n        } while (iVar19 < 0x989681);\n        if (pbVar16 == pbVar15) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (char *)((int)local_b4 + -1);\nLAB_000cfe51:\n        pbVar15 = pbVar14 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (int)local_b4;\n      iVar19 = (int)local_b4 * 6;\n    }\n    rc = 0;\n    local_b4 = (char *)local_80;\n  }\nLAB_000cfe77:\n  sVar7 = sVar7 + 1;\n  sVar8 = sVar8 + 1;\n  uVar13 = sVar8 + sVar7 + iVar17 * 5 + (int)local_d0 + iVar19 * 4 + 0x11c;\n  local_dc = (Fts3Table *)sqlite3_malloc64((ulonglong)uVar13);\n  if (local_dc == (Fts3Table *)0x0) {\n    rc = 7;\n    goto LAB_000cfaef;\n  }\n  bVar25 = cVar3 == '4';\n  memset(local_dc,0,uVar13);\n  local_dc->nColumn = iVar17;\n  local_dc->nAutoincrmerge = 0xff;\n  local_dc->pTokenizer = pTokenizer;\n  local_dc->db = db;\n  local_dc->azColumn = (char **)(local_dc + 1);\n  local_dc->bHasStat = bVar25;\n  local_dc->bFts4 = bVar25;\n  local_dc->bHasDocsize = (bVar5 ^ 1) & bVar25;\n  local_dc->bDescIdx = bVar26;\n  local_dc->nPendingData = 0;\n  local_dc->nMaxPendingData = 0x100000;\n  local_dc->zContentTbl = (char *)local_ac;\n  local_dc->zLanguageid = (char *)local_9c;\n  pFVar11 = (Fts3Index *)(local_dc[1].aStmt + iVar17 + -0xe);\n  local_dc->aIndex = pFVar11;\n  memcpy(pFVar11,local_bc,local_80 * 0x18);\n  iVar19 = 0;\n  local_dc->nIndex = (int)local_b4;\n  if (local_b4 != (char *)0x0) {\n    do {\n      pFVar11 = local_dc->aIndex;\n      iVar10 = iVar19 + 1;\n      pFVar11[iVar19].hPending.keyClass = '\x01';\n      pFVar11[iVar19].hPending.copyKey = '\x01';\n      pFVar11[iVar19].hPending.first = (Fts3HashElem *)0x0;\n      pFVar11[iVar19].hPending.count = 0;\n      pFVar11[iVar19].hPending.htsize = 0;\n      pFVar11[iVar19].hPending.ht = (_fts3ht *)0x0;\n      iVar19 = iVar10;\n    } while (local_b4 != (char *)iVar10);\n  }\n  local_dc->abNotindexed = (u8 *)(local_dc->aIndex + local_80);\n  pcVar21 = (char *)((int)&local_dc->aIndex[local_80].nPrefix + iVar17);\n  local_dc->zName = pcVar21;\n  pcVar20 = pcVar21 + sVar8;\n  memcpy(pcVar21,argv[2],sVar8);\n  local_dc->zDb = pcVar20;\n  pcVar21 = pcVar20 + sVar7;\n  iVar19 = 0;\n  memcpy(pcVar20,argv[1],sVar7);\n  if (0 < iVar17) {\n    do {\n      n = 0;\n      pcVar20 = sqlite3Fts3NextToken(*(char **)((int)local_cc + iVar19),&n);\n      if (0 < n) {\n        memcpy(pcVar21,pcVar20,n);\n      }\n      pcVar21[n] = '\0';\n      sqlite3Fts3Dequote(pcVar21);\n      *(char **)((int)local_dc->azColumn + iVar19) = pcVar21;\n      iVar19 = iVar19 + 4;\n      pcVar21 = pcVar21 + n + 1;\n    } while (iVar17 * 4 != iVar19);\n    local_c8 = (char *)0x0;\n    do {\n      sVar7 = strlen(local_dc->azColumn[(int)local_c8]);\n      piVar18 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)) &&\n                 (iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),\n                 iVar19 == 0))) {\n            piVar22 = piVar18 + 1;\n            local_dc->abNotindexed[(int)local_c8] = '\x01';\n            sqlite3_free(pcVar21);\n            *piVar18 = 0;\n            piVar18 = piVar22;\n            if (local_c0 + local_b0 == piVar22) goto LAB_000d0168;\n          }\n          piVar18 = piVar18 + 1;\n        } while (local_c0 + local_b0 != piVar18);\n      }\nLAB_000d0168:\n      local_c8 = (char *)((int)local_c8 + 1);\n    } while (local_c8 != (char *)iVar17);\n  }\n  piVar18 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      if (*piVar18 != 0) {\n        sqlite3Fts3ErrMsg(pzErr,"no such column: %s",*piVar18);\n        rc = 1;\n      }\n      piVar18 = piVar18 + 1;\n    } while (local_c0 + local_b0 != piVar18);\n  }\n  if ((rc == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {\n    rc = 1;\n    pcVar21 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar21 = "compress";\n    }\n    sqlite3Fts3ErrMsg(pzErr,"missing %s parameter in fts4 constructor",pcVar21);\n  }\n  n = 0;\n  if (local_dc->zContentTbl == (char *)0x0) {\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = "";\n      local_b4 = (char *)0x0;\n    }\n    else {\n      local_d0 = fts3QuoteId((char *)local_a0);\n      local_b4 = local_d0;\n    }\n    iVar17 = 0;\n    fts3Appendf(&rc,(char **)&n,"docid");\n    if (0 < local_dc->nColumn) {\n      do {\n        iVar19 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,",%s(x.\'c%d%q\')",local_d0,iVar17,local_dc->azColumn[iVar17]);\n        iVar17 = iVar19;\n      } while (iVar19 < local_dc->nColumn);\n    }\n    if (local_dc->zLanguageid != (char *)0x0) {\n      fts3Appendf(&rc,(char **)&n,", x.%Q","langid");\n    }\n    sqlite3_free(local_b4);\n  }\n  else {\n    fts3Appendf(&rc,(char **)&n,"rowid");\n    if (0 < local_dc->nColumn) {\n      iVar17 = 0;\n      do {\n        ppcVar1 = local_dc->azColumn + iVar17;\n        iVar17 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,", x.\'%q\'",*ppcVar1);\n      } while (iVar17 < local_dc->nColumn);\n    }\n    if (local_dc->zLanguageid != (char *)0x0) {\n      fts3Appendf(&rc,(char **)&n,", x.%Q",local_dc->zLanguageid);\n    }\n  }\n  pcVar21 = local_dc->zContentTbl;\n  if (pcVar21 == (char *)0x0) {\n    pcVar20 = "_content";\n    pcVar21 = local_dc->zName;\n  }\n  else {\n    pcVar20 = "";\n  }\n  fts3Appendf(&rc,(char **)&n," FROM \'%q\'.\'%q%s\' AS x",local_dc->zDb,pcVar21,pcVar20);\n  local_dc->zReadExprlist = (char *)n;\n  n = 0;\n  if (local_a4 == (byte *)0x0) {\n    local_c8 = (char *)0x0;\n    pcVar21 = "";\n  }\n  else {\n    pcVar21 = fts3QuoteId((char *)local_a4);\n    local_c8 = pcVar21;\n  }\n  iVar17 = 0;\n  ppsVar27 = (sqlite3_stmt **)&n;\n  fts3Appendf(&rc,(char **)&n,"?");\n  if (0 < local_dc->nColumn) {\n    do {\n      iVar17 = iVar17 + 1;\n      ppsVar27 = (sqlite3_stmt **)&n;\n      fts3Appendf(&rc,(char **)&n,",%s(?)",pcVar21);\n    } while (iVar17 < local_dc->nColumn);\n  }\n  if (local_dc->zLanguageid != (char *)0x0) {\n    ppsVar27 = (sqlite3_stmt **)&n;\n    fts3Appendf(&rc,(char **)&n,", ?");\n  }\n  sqlite3_free(local_c8);\n  local_dc->zWriteExprlist = (char *)n;\n  if (rc == 0) {\n    if (isCreate == 0) {\n      if (cVar3 != '4') {\n        local_dc->bHasStat = '\x02';\n      }\n    }\n    else {\n      n = 0;\n      db_00 = local_dc->db;\n      if (local_dc->zContentTbl == (char *)0x0) {\n        pcVar21 = local_dc->zLanguageid;\n        p = (sqlite3_stmt **)sqlite3_mprintf("docid INTEGER PRIMARY KEY");\n        if (p == (sqlite3_stmt **)0x0) {\nLAB_000d0ffd:\n          n = 7;\n          p = (sqlite3_stmt **)0x0;\n        }\n        else {\n          if (0 < local_dc->nColumn) {\n            iVar17 = 0;\n            do {\n              iVar19 = iVar17 + 1;\n              p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);\n              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;\n              iVar17 = iVar19;\n            } while (iVar19 < local_dc->nColumn);\n          }\n          if ((pcVar21 != (char *)0x0) &&\n             (p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0)) goto LAB_000d0ffd;\n        }\n        ppsVar27 = p;\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_content\'(%s)",local_dc->zDb,local_dc->zName,p);\n        sqlite3_free(p);\n      }\n      fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                 local_dc->zDb,local_dc->zName,ppsVar27);\n      fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                 ,local_dc->zDb,local_dc->zName);\n      if (local_dc->bHasDocsize != '\0') {\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                   local_dc->zDb,local_dc->zName);\n      }\n      if (local_dc->bHasStat != '\0') {\n        sqlite3Fts3CreateStatTable(&n,local_dc);\n      }\n      rc = n;\n      if (n != 0) {\n        local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    pcVar21 = sqlite3_mprintf("PRAGMA %Q.page_size",local_dc->zDb);\n    if (pcVar21 == (char *)0x0) {\n      sqlite3_free((void *)0x0);\n      rc = 7;\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    iVar17 = sqlite3_prepare(local_dc->db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0);\n    if (iVar17 == 0) {\n      sqlite3_step((sqlite3_stmt *)n);\n      iVar17 = sqlite3_column_int((sqlite3_stmt *)n,0);\n      local_dc->nPgsz = iVar17;\n      iVar17 = sqlite3_finalize((sqlite3_stmt *)n);\nLAB_000d0420:\n      sqlite3_free(pcVar21);\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n      rc = iVar17;\n      if (iVar17 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (iVar17 != 0x17) goto LAB_000d0420;\n      local_dc->nPgsz = 0x400;\n      sqlite3_free(pcVar21);\n      rc = 0;\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n    }\n    pcVar21 = "__langid";\n    if (local_dc->zLanguageid != (char *)0x0) {\n      pcVar21 = local_dc->zLanguageid;\n    }\n    sqlite3_vtab_config(local_dc->db,1,1);\n    pcVar20 = sqlite3_mprintf("%Q, ",*local_dc->azColumn);\n    if (pcVar20 == (char *)0x0) {\nLAB_000d04d3:\n      pcVar20 = (char *)0x0;\n      iVar17 = 7;\n      pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                                local_dc->zName,pcVar21);\n    }\n    else {\n      if (1 < local_dc->nColumn) {\n        iVar17 = 1;\n        do {\n          ppcVar1 = local_dc->azColumn + iVar17;\n          iVar17 = iVar17 + 1;\n          pcVar20 = sqlite3_mprintf("%z%Q, ",pcVar20,*ppcVar1);\n          if (pcVar20 == (char *)0x0) goto LAB_000d04d3;\n        } while (iVar17 < local_dc->nColumn);\n      }\n      iVar17 = 7;\n      pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",pcVar20,\n                                local_dc->zName,pcVar21);\n      if (pcVar21 != (char *)0x0) {\n        iVar17 = sqlite3_declare_vtab(local_dc->db,pcVar21);\n      }\n    }\n    sqlite3_free(pcVar21);\n    sqlite3_free(pcVar20);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    rc = iVar17;\n  }\n  else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }\nLAB_000cfaef:\n  sqlite3_free(local_a8);\n  sqlite3_free(local_bc);\n  sqlite3_free(local_a4);\n  sqlite3_free(local_a0);\n  sqlite3_free(local_ac);\n  sqlite3_free(local_9c);\n  piVar18 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      piVar22 = piVar18 + 1;\n      sqlite3_free((void *)*piVar18);\n      piVar18 = piVar22;\n    } while (local_c0 + local_b0 != piVar22);\n  }\n  sqlite3_free(local_cc);\n  sqlite3_free(local_c0);\n  if (rc == 0) {\n    *ppVTab = &local_dc->base;\n  }\n  else if (local_dc == (Fts3Table *)0x0) {\n    if (pTokenizer != (sqlite3_tokenizer *)0x0) {\n      (*pTokenizer->pModule->xDestroy)(pTokenizer);\n    }\n  }\n  else {\n    fts3DisconnectMethod(&local_dc->base);\n  }\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return rc;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "fts3InitVtab(int isCreate,sqlite3 *db,void *pAux,int argc,char **argv,sqlite3_vtab **ppVTab,\n            char **pzErr)" identifier (parameter_list "(int isCreate,sqlite3 *db,void *pAux,int argc,char **argv,sqlite3_vtab **ppVTab,\n            char **pzErr)" ( (parameter_declaration "int isCreate" primitive_type identifier) , (parameter_declaration "sqlite3 *db" type_identifier (pointer_declarator "*db" * identifier)) , (parameter_declaration "void *pAux" primitive_type (pointer_declarator "*pAux" * identifier)) , (parameter_declaration "int argc" primitive_type identifier) , (parameter_declaration "char **argv" primitive_type (pointer_declarator "**argv" * (pointer_declarator "*argv" * identifier))) , (parameter_declaration "sqlite3_vtab **ppVTab" type_identifier (pointer_declarator "**ppVTab" * (pointer_declarator "*ppVTab" * identifier))) , (parameter_declaration "char **pzErr" primitive_type (pointer_declarator "**pzErr" * (pointer_declarator "*pzErr" * identifier))) ))) (compound_statement "{\n  char **ppcVar1;\n  int iVar2;\n  char cVar3;\n  char cVar4;\n  sqlite3 *db_00;\n  byte bVar5;\n  byte bVar6;\n  size_t sVar7;\n  size_t sVar8;\n  size_t sVar9;\n  int iVar10;\n  Fts3Index *pFVar11;\n  undefined4 *puVar12;\n  uint uVar13;\n  sqlite3_stmt **p;\n  byte *pbVar14;\n  byte *pbVar15;\n  byte *pbVar16;\n  int iVar17;\n  int *piVar18;\n  int iVar19;\n  char *pcVar20;\n  char *pcVar21;\n  int *piVar22;\n  int iVar23;\n  undefined4 *puVar24;\n  int in_GS_OFFSET;\n  bool bVar25;\n  bool bVar26;\n  sqlite3_stmt **ppsVar27;\n  Fts3Table *local_dc;\n  char *local_d0;\n  undefined4 *local_cc;\n  char *local_c8;\n  int *local_c0;\n  undefined4 *local_bc;\n  int local_b8;\n  char *local_b4;\n  int local_b0;\n  byte *local_ac;\n  byte *local_a8;\n  byte *local_a4;\n  byte *local_a0;\n  byte *local_9c;\n  int local_80;\n  int rc;\n  sqlite3_tokenizer *pTokenizer;\n  int n;\n  Fts4Option aFts4Opt [8];\n  \n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  rc = 0;\n  cVar3 = (*argv)[3];\n  pTokenizer = (sqlite3_tokenizer *)0x0;\n  sVar7 = strlen(argv[1]);\n  sVar8 = strlen(argv[2]);\n  uVar13 = argc * 4 - 8;\n  local_cc = (undefined4 *)sqlite3_malloc64((ulonglong)uVar13);\n  if (local_cc != (undefined4 *)0x0) {\n    memset(local_cc,0,uVar13);\n    local_c0 = (int *)sqlite3_malloc64((ulonglong)uVar13);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,uVar13);\n      if ((rc == 0) && (3 < argc)) {\n        iVar17 = 0;\n        local_d0 = (char *)0x0;\n        iVar19 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar26 = false;\n        bVar5 = 0;\nLAB_000cfa14:\n        pcVar21 = argv[iVar19];\n        iVar19 = iVar19 + 1;\n        if ((((pTokenizer == (sqlite3_tokenizer *)0x0) && (sVar9 = strlen(pcVar21), 8 < sVar9)) &&\n            (iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8), iVar10 == 0)) &&\n           ((-1 < pcVar21[8] && (isFtsIdChar_41700[pcVar21[8]] == '\0')))) {\n          rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,pcVar21 + 9,&pTokenizer,pzErr);\n          goto LAB_000cfa0c;\n        }\n        if (cVar3 == '4') {\n          cVar4 = *pcVar21;\n          pcVar20 = pcVar21;\n          if (cVar4 == '=') {\n            local_b4 = (char *)0x0;\n          }\n          else {\n            do {\n              if (cVar4 == '\0') goto LAB_000cf9db;\n              pcVar20 = pcVar20 + 1;\n              cVar4 = *pcVar20;\n            } while (cVar4 != '=');\n            local_b4 = (char *)((int)pcVar20 - (int)pcVar21);\n          }\n          pbVar15 = (byte *)sqlite3_mprintf("%s",pcVar20 + 1);\n          if (pbVar15 != (byte *)0x0) {\n            sqlite3Fts3Dequote((char *)pbVar15);\n          }\n          aFts4Opt[0].nOpt = 9;\n          aFts4Opt[1].nOpt = 6;\n          aFts4Opt[0].zOpt = "matchinfo";\n          aFts4Opt[1].zOpt = "prefix";\n          aFts4Opt[2].zOpt = "compress";\n          aFts4Opt[3].zOpt = "uncompress";\n          aFts4Opt[4].zOpt = "order";\n          aFts4Opt[5].zOpt = "content";\n          aFts4Opt[6].zOpt = "languageid";\n          aFts4Opt[2].nOpt = 8;\n          aFts4Opt[3].nOpt = 10;\n          aFts4Opt[4].nOpt = 5;\n          aFts4Opt[5].nOpt = 7;\n          aFts4Opt[6].nOpt = 10;\n          aFts4Opt[7].zOpt = "notindexed";\n          aFts4Opt[7].nOpt = 10;\n          if (pbVar15 != (byte *)0x0) {\n            iVar10 = 9;\n            iVar23 = 0;\n            do {\n              pbVar16 = pbVar15;\n              if ((local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)) {\n                switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar23 = iVar23 + 1;\n              if (iVar23 == 8) goto LAB_000d0688;\n              iVar10 = aFts4Opt[iVar23].nOpt;\n            } while( true );\n          }\n          rc = 7;\n          bVar25 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar9 = strlen(pcVar21);\n        local_d0 = (char *)((int)local_d0 + 1U + sVar9);\n        local_cc[iVar17] = pcVar21;\n        iVar17 = iVar17 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar5 = 0;\n      iVar17 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar26 = false;\n      local_d0 = (char *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }\n  rc = 7;\n  local_c0 = (int *)0x0;\n  local_bc = (undefined4 *)0x0;\n  local_b0 = 0;\n  local_9c = (byte *)0x0;\n  local_ac = (byte *)0x0;\n  local_a0 = (byte *)0x0;\n  local_a4 = (byte *)0x0;\n  local_a8 = (byte *)0x0;\n  local_dc = (Fts3Table *)0x0;\n  goto LAB_000cfaef;\nLAB_000d0688:\n  sqlite3Fts3ErrMsg(pzErr,"unrecognized parameter: %s",pcVar21);\n  rc = 1;\nLAB_000d06b8:\n  sqlite3_free(pbVar16);\nLAB_000cfa0c:\n  bVar25 = rc == 0;\n  if (argc <= iVar19 || !bVar25) goto LAB_000cfd03;\n  goto LAB_000cfa14;\nLAB_000d08d0:\n  iVar19 = iVar19 + 1;\n  if (iVar19 == iVar17) goto LAB_000cfd38;\n  goto LAB_000d08db;\nLAB_000cfd03:\n  if ((local_ac == (byte *)0x0) || (!bVar25)) {\nLAB_000d0578:\n    if (rc != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }\n  sqlite3_free(local_a4);\n  sqlite3_free(local_a0);\n  if (iVar17 == 0) {\n    sqlite3_free(local_cc);\n    n = 0;\n    pcVar21 = sqlite3_mprintf("SELECT * FROM %Q.%Q",argv[1],local_ac);\n    if (pcVar21 == (char *)0x0) {\n      sqlite3_free((void *)0x0);\n      rc = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    iVar17 = sqlite3_prepare(db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0);\n    if (iVar17 != 0) {\n      pcVar20 = sqlite3_errmsg(db);\n      sqlite3Fts3ErrMsg(pzErr,"%s",pcVar20);\n      sqlite3_free(pcVar21);\n      rc = iVar17;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    sqlite3_free(pcVar21);\n    iVar17 = sqlite3_column_count((sqlite3_stmt *)n);\n    if (iVar17 < 1) {\n      local_cc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)(iVar17 * 4));\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      sqlite3_finalize((sqlite3_stmt *)n);\n      rc = 0;\n      local_d0 = (char *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (char *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar19 = 0;\n      local_d0 = (char *)0x0;\n      iVar10 = 0;\n      do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar10);\n        sVar9 = strlen(pcVar21);\n        bVar25 = CARRY4((uint)local_d0,sVar9 + 1);\n        local_d0 = (char *)((int)local_d0 + sVar9 + 1);\n        iVar19 = iVar19 + (uint)bVar25;\n        iVar10 = iVar10 + 1;\n      } while (iVar17 != iVar10);\n      local_cc = (undefined4 *)\n                 sqlite3_malloc64(CONCAT44(iVar19 + (uint)CARRY4(iVar17 * 4,(uint)local_d0),\n                                           iVar17 * 4 + (int)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        sqlite3_finalize((sqlite3_stmt *)n);\n        rc = 7;\n        goto LAB_000d0e57;\n      }\n      iVar19 = 0;\n      puVar24 = local_cc + iVar17;\n      do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar19);\n        sVar9 = strlen(pcVar21);\n        memcpy(puVar24,pcVar21,sVar9 + 1);\n        local_cc[iVar19] = puVar24;\n        puVar24 = (undefined4 *)((int)puVar24 + sVar9 + 1);\n        iVar19 = iVar19 + 1;\n      } while (iVar17 != iVar19);\n      sqlite3_finalize((sqlite3_stmt *)n);\n      rc = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar19 = 0;\nLAB_000d08db:\n        iVar10 = sqlite3_stricmp((char *)local_9c,(char *)local_cc[iVar19]);\n        if (iVar10 != 0) goto LAB_000d08d0;\n        puVar24 = local_cc + iVar19;\n        if (iVar19 < iVar17) {\n          do {\n            puVar12 = puVar24 + 1;\n            *puVar24 = puVar24[1];\n            puVar24 = puVar12;\n          } while (local_cc + iVar17 != puVar12);\n        }\n        iVar17 = iVar17 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      rc = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar17 == 0) {\n      iVar17 = 1;\n      local_d0 = (char *)0x8;\n      *local_cc = "content";\n    }\n  }\n  else {\nLAB_000cfd38:\n    if (rc != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    rc = 0;\n  }\n  if (pTokenizer == (sqlite3_tokenizer *)0x0) {\n    rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,"simple",&pTokenizer,pzErr);\n    local_bc = (undefined4 *)0x0;\n    if (rc != 0) {\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n  }\n  if (local_a8 == (byte *)0x0) {\n    local_bc = (undefined4 *)sqlite3_malloc64(0x18);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar13 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;\n      uVar13 = uVar13 + 4;\n    } while (uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    rc = 0;\n    iVar19 = 6;\n    local_80 = 1;\n    local_b4 = (char *)0x1;\n  }\n  else {\n    bVar6 = *local_a8;\n    if (bVar6 == 0) {\n      local_bc = (undefined4 *)sqlite3_malloc64(0x18);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar13 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;\n        uVar13 = uVar13 + 4;\n      } while (uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar19 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (char *)0x2;\n      pbVar15 = local_a8;\n      do {\n        pbVar15 = pbVar15 + 1;\n        local_b4 = (char *)((int)local_b4 + (uint)(bVar6 == 0x2c));\n        bVar6 = *pbVar15;\n      } while (bVar6 != 0);\n      local_bc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)((int)local_b4 * 0x18));\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        rc = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (Fts3Table *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar15 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar15 - 0x30)) {\nLAB_000d094c:\n          rc = 1;\n          sqlite3Fts3ErrMsg(pzErr,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (char *)rc;\n          if (rc != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar19 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar19 = (char)*pbVar15 + -0x30;\n        pbVar16 = pbVar15;\n        do {\n          pbVar14 = pbVar16;\n          pbVar16 = pbVar14 + 1;\n          if (9 < (byte)(pbVar14[1] - 0x30)) {\n            if (pbVar16 == pbVar15) goto LAB_000d094c;\n            if (iVar19 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar19;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar19 = (char)pbVar14[1] + -0x30 + iVar19 * 10;\n        } while (iVar19 < 0x989681);\n        if (pbVar16 == pbVar15) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (char *)((int)local_b4 + -1);\nLAB_000cfe51:\n        pbVar15 = pbVar14 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (int)local_b4;\n      iVar19 = (int)local_b4 * 6;\n    }\n    rc = 0;\n    local_b4 = (char *)local_80;\n  }\nLAB_000cfe77:\n  sVar7 = sVar7 + 1;\n  sVar8 = sVar8 + 1;\n  uVar13 = sVar8 + sVar7 + iVar17 * 5 + (int)local_d0 + iVar19 * 4 + 0x11c;\n  local_dc = (Fts3Table *)sqlite3_malloc64((ulonglong)uVar13);\n  if (local_dc == (Fts3Table *)0x0) {\n    rc = 7;\n    goto LAB_000cfaef;\n  }\n  bVar25 = cVar3 == '4';\n  memset(local_dc,0,uVar13);\n  local_dc->nColumn = iVar17;\n  local_dc->nAutoincrmerge = 0xff;\n  local_dc->pTokenizer = pTokenizer;\n  local_dc->db = db;\n  local_dc->azColumn = (char **)(local_dc + 1);\n  local_dc->bHasStat = bVar25;\n  local_dc->bFts4 = bVar25;\n  local_dc->bHasDocsize = (bVar5 ^ 1) & bVar25;\n  local_dc->bDescIdx = bVar26;\n  local_dc->nPendingData = 0;\n  local_dc->nMaxPendingData = 0x100000;\n  local_dc->zContentTbl = (char *)local_ac;\n  local_dc->zLanguageid = (char *)local_9c;\n  pFVar11 = (Fts3Index *)(local_dc[1].aStmt + iVar17 + -0xe);\n  local_dc->aIndex = pFVar11;\n  memcpy(pFVar11,local_bc,local_80 * 0x18);\n  iVar19 = 0;\n  local_dc->nIndex = (int)local_b4;\n  if (local_b4 != (char *)0x0) {\n    do {\n      pFVar11 = local_dc->aIndex;\n      iVar10 = iVar19 + 1;\n      pFVar11[iVar19].hPending.keyClass = '\x01';\n      pFVar11[iVar19].hPending.copyKey = '\x01';\n      pFVar11[iVar19].hPending.first = (Fts3HashElem *)0x0;\n      pFVar11[iVar19].hPending.count = 0;\n      pFVar11[iVar19].hPending.htsize = 0;\n      pFVar11[iVar19].hPending.ht = (_fts3ht *)0x0;\n      iVar19 = iVar10;\n    } while (local_b4 != (char *)iVar10);\n  }\n  local_dc->abNotindexed = (u8 *)(local_dc->aIndex + local_80);\n  pcVar21 = (char *)((int)&local_dc->aIndex[local_80].nPrefix + iVar17);\n  local_dc->zName = pcVar21;\n  pcVar20 = pcVar21 + sVar8;\n  memcpy(pcVar21,argv[2],sVar8);\n  local_dc->zDb = pcVar20;\n  pcVar21 = pcVar20 + sVar7;\n  iVar19 = 0;\n  memcpy(pcVar20,argv[1],sVar7);\n  if (0 < iVar17) {\n    do {\n      n = 0;\n      pcVar20 = sqlite3Fts3NextToken(*(char **)((int)local_cc + iVar19),&n);\n      if (0 < n) {\n        memcpy(pcVar21,pcVar20,n);\n      }\n      pcVar21[n] = '\0';\n      sqlite3Fts3Dequote(pcVar21);\n      *(char **)((int)local_dc->azColumn + iVar19) = pcVar21;\n      iVar19 = iVar19 + 4;\n      pcVar21 = pcVar21 + n + 1;\n    } while (iVar17 * 4 != iVar19);\n    local_c8 = (char *)0x0;\n    do {\n      sVar7 = strlen(local_dc->azColumn[(int)local_c8]);\n      piVar18 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)) &&\n                 (iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),\n                 iVar19 == 0))) {\n            piVar22 = piVar18 + 1;\n            local_dc->abNotindexed[(int)local_c8] = '\x01';\n            sqlite3_free(pcVar21);\n            *piVar18 = 0;\n            piVar18 = piVar22;\n            if (local_c0 + local_b0 == piVar22) goto LAB_000d0168;\n          }\n          piVar18 = piVar18 + 1;\n        } while (local_c0 + local_b0 != piVar18);\n      }\nLAB_000d0168:\n      local_c8 = (char *)((int)local_c8 + 1);\n    } while (local_c8 != (char *)iVar17);\n  }\n  piVar18 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      if (*piVar18 != 0) {\n        sqlite3Fts3ErrMsg(pzErr,"no such column: %s",*piVar18);\n        rc = 1;\n      }\n      piVar18 = piVar18 + 1;\n    } while (local_c0 + local_b0 != piVar18);\n  }\n  if ((rc == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {\n    rc = 1;\n    pcVar21 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar21 = "compress";\n    }\n    sqlite3Fts3ErrMsg(pzErr,"missing %s parameter in fts4 constructor",pcVar21);\n  }\n  n = 0;\n  if (local_dc->zContentTbl == (char *)0x0) {\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = "";\n      local_b4 = (char *)0x0;\n    }\n    else {\n      local_d0 = fts3QuoteId((char *)local_a0);\n      local_b4 = local_d0;\n    }\n    iVar17 = 0;\n    fts3Appendf(&rc,(char **)&n,"docid");\n    if (0 < local_dc->nColumn) {\n      do {\n        iVar19 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,",%s(x.\'c%d%q\')",local_d0,iVar17,local_dc->azColumn[iVar17]);\n        iVar17 = iVar19;\n      } while (iVar19 < local_dc->nColumn);\n    }\n    if (local_dc->zLanguageid != (char *)0x0) {\n      fts3Appendf(&rc,(char **)&n,", x.%Q","langid");\n    }\n    sqlite3_free(local_b4);\n  }\n  else {\n    fts3Appendf(&rc,(char **)&n,"rowid");\n    if (0 < local_dc->nColumn) {\n      iVar17 = 0;\n      do {\n        ppcVar1 = local_dc->azColumn + iVar17;\n        iVar17 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,", x.\'%q\'",*ppcVar1);\n      } while (iVar17 < local_dc->nColumn);\n    }\n    if (local_dc->zLanguageid != (char *)0x0) {\n      fts3Appendf(&rc,(char **)&n,", x.%Q",local_dc->zLanguageid);\n    }\n  }\n  pcVar21 = local_dc->zContentTbl;\n  if (pcVar21 == (char *)0x0) {\n    pcVar20 = "_content";\n    pcVar21 = local_dc->zName;\n  }\n  else {\n    pcVar20 = "";\n  }\n  fts3Appendf(&rc,(char **)&n," FROM \'%q\'.\'%q%s\' AS x",local_dc->zDb,pcVar21,pcVar20);\n  local_dc->zReadExprlist = (char *)n;\n  n = 0;\n  if (local_a4 == (byte *)0x0) {\n    local_c8 = (char *)0x0;\n    pcVar21 = "";\n  }\n  else {\n    pcVar21 = fts3QuoteId((char *)local_a4);\n    local_c8 = pcVar21;\n  }\n  iVar17 = 0;\n  ppsVar27 = (sqlite3_stmt **)&n;\n  fts3Appendf(&rc,(char **)&n,"?");\n  if (0 < local_dc->nColumn) {\n    do {\n      iVar17 = iVar17 + 1;\n      ppsVar27 = (sqlite3_stmt **)&n;\n      fts3Appendf(&rc,(char **)&n,",%s(?)",pcVar21);\n    } while (iVar17 < local_dc->nColumn);\n  }\n  if (local_dc->zLanguageid != (char *)0x0) {\n    ppsVar27 = (sqlite3_stmt **)&n;\n    fts3Appendf(&rc,(char **)&n,", ?");\n  }\n  sqlite3_free(local_c8);\n  local_dc->zWriteExprlist = (char *)n;\n  if (rc == 0) {\n    if (isCreate == 0) {\n      if (cVar3 != '4') {\n        local_dc->bHasStat = '\x02';\n      }\n    }\n    else {\n      n = 0;\n      db_00 = local_dc->db;\n      if (local_dc->zContentTbl == (char *)0x0) {\n        pcVar21 = local_dc->zLanguageid;\n        p = (sqlite3_stmt **)sqlite3_mprintf("docid INTEGER PRIMARY KEY");\n        if (p == (sqlite3_stmt **)0x0) {\nLAB_000d0ffd:\n          n = 7;\n          p = (sqlite3_stmt **)0x0;\n        }\n        else {\n          if (0 < local_dc->nColumn) {\n            iVar17 = 0;\n            do {\n              iVar19 = iVar17 + 1;\n              p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);\n              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;\n              iVar17 = iVar19;\n            } while (iVar19 < local_dc->nColumn);\n          }\n          if ((pcVar21 != (char *)0x0) &&\n             (p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0)) goto LAB_000d0ffd;\n        }\n        ppsVar27 = p;\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_content\'(%s)",local_dc->zDb,local_dc->zName,p);\n        sqlite3_free(p);\n      }\n      fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                 local_dc->zDb,local_dc->zName,ppsVar27);\n      fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                 ,local_dc->zDb,local_dc->zName);\n      if (local_dc->bHasDocsize != '\0') {\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                   local_dc->zDb,local_dc->zName);\n      }\n      if (local_dc->bHasStat != '\0') {\n        sqlite3Fts3CreateStatTable(&n,local_dc);\n      }\n      rc = n;\n      if (n != 0) {\n        local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    pcVar21 = sqlite3_mprintf("PRAGMA %Q.page_size",local_dc->zDb);\n    if (pcVar21 == (char *)0x0) {\n      sqlite3_free((void *)0x0);\n      rc = 7;\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    iVar17 = sqlite3_prepare(local_dc->db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0);\n    if (iVar17 == 0) {\n      sqlite3_step((sqlite3_stmt *)n);\n      iVar17 = sqlite3_column_int((sqlite3_stmt *)n,0);\n      local_dc->nPgsz = iVar17;\n      iVar17 = sqlite3_finalize((sqlite3_stmt *)n);\nLAB_000d0420:\n      sqlite3_free(pcVar21);\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n      rc = iVar17;\n      if (iVar17 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (iVar17 != 0x17) goto LAB_000d0420;\n      local_dc->nPgsz = 0x400;\n      sqlite3_free(pcVar21);\n      rc = 0;\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n    }\n    pcVar21 = "__langid";\n    if (local_dc->zLanguageid != (char *)0x0) {\n      pcVar21 = local_dc->zLanguageid;\n    }\n    sqlite3_vtab_config(local_dc->db,1,1);\n    pcVar20 = sqlite3_mprintf("%Q, ",*local_dc->azColumn);\n    if (pcVar20 == (char *)0x0) {\nLAB_000d04d3:\n      pcVar20 = (char *)0x0;\n      iVar17 = 7;\n      pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                                local_dc->zName,pcVar21);\n    }\n    else {\n      if (1 < local_dc->nColumn) {\n        iVar17 = 1;\n        do {\n          ppcVar1 = local_dc->azColumn + iVar17;\n          iVar17 = iVar17 + 1;\n          pcVar20 = sqlite3_mprintf("%z%Q, ",pcVar20,*ppcVar1);\n          if (pcVar20 == (char *)0x0) goto LAB_000d04d3;\n        } while (iVar17 < local_dc->nColumn);\n      }\n      iVar17 = 7;\n      pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",pcVar20,\n                                local_dc->zName,pcVar21);\n      if (pcVar21 != (char *)0x0) {\n        iVar17 = sqlite3_declare_vtab(local_dc->db,pcVar21);\n      }\n    }\n    sqlite3_free(pcVar21);\n    sqlite3_free(pcVar20);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    rc = iVar17;\n  }\n  else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }\nLAB_000cfaef:\n  sqlite3_free(local_a8);\n  sqlite3_free(local_bc);\n  sqlite3_free(local_a4);\n  sqlite3_free(local_a0);\n  sqlite3_free(local_ac);\n  sqlite3_free(local_9c);\n  piVar18 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      piVar22 = piVar18 + 1;\n      sqlite3_free((void *)*piVar18);\n      piVar18 = piVar22;\n    } while (local_c0 + local_b0 != piVar22);\n  }\n  sqlite3_free(local_cc);\n  sqlite3_free(local_c0);\n  if (rc == 0) {\n    *ppVTab = &local_dc->base;\n  }\n  else if (local_dc == (Fts3Table *)0x0) {\n    if (pTokenizer != (sqlite3_tokenizer *)0x0) {\n      (*pTokenizer->pModule->xDestroy)(pTokenizer);\n    }\n  }\n  else {\n    fts3DisconnectMethod(&local_dc->base);\n  }\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return rc;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "char **ppcVar1;" primitive_type (pointer_declarator "**ppcVar1" * (pointer_declarator "*ppcVar1" * identifier)) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "sqlite3 *db_00;" type_identifier (pointer_declarator "*db_00" * identifier) ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "size_t sVar8;" primitive_type identifier ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "Fts3Index *pFVar11;" type_identifier (pointer_declarator "*pFVar11" * identifier) ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "sqlite3_stmt **p;" type_identifier (pointer_declarator "**p" * (pointer_declarator "*p" * identifier)) ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "char *pcVar20;" primitive_type (pointer_declarator "*pcVar20" * identifier) ;) (declaration "char *pcVar21;" primitive_type (pointer_declarator "*pcVar21" * identifier) ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar25;" primitive_type identifier ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "sqlite3_stmt **ppsVar27;" type_identifier (pointer_declarator "**ppsVar27" * (pointer_declarator "*ppsVar27" * identifier)) ;) (declaration "Fts3Table *local_dc;" type_identifier (pointer_declarator "*local_dc" * identifier) ;) (declaration "char *local_d0;" primitive_type (pointer_declarator "*local_d0" * identifier) ;) (declaration "undefined4 *local_cc;" type_identifier (pointer_declarator "*local_cc" * identifier) ;) (declaration "char *local_c8;" primitive_type (pointer_declarator "*local_c8" * identifier) ;) (declaration "int *local_c0;" primitive_type (pointer_declarator "*local_c0" * identifier) ;) (declaration "undefined4 *local_bc;" type_identifier (pointer_declarator "*local_bc" * identifier) ;) (declaration "int local_b8;" primitive_type identifier ;) (declaration "char *local_b4;" primitive_type (pointer_declarator "*local_b4" * identifier) ;) (declaration "int local_b0;" primitive_type identifier ;) (declaration "byte *local_ac;" type_identifier (pointer_declarator "*local_ac" * identifier) ;) (declaration "byte *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "byte *local_a4;" type_identifier (pointer_declarator "*local_a4" * identifier) ;) (declaration "byte *local_a0;" type_identifier (pointer_declarator "*local_a0" * identifier) ;) (declaration "byte *local_9c;" type_identifier (pointer_declarator "*local_9c" * identifier) ;) (declaration "int local_80;" primitive_type identifier ;) (declaration "int rc;" primitive_type identifier ;) (declaration "sqlite3_tokenizer *pTokenizer;" type_identifier (pointer_declarator "*pTokenizer" * identifier) ;) (declaration "int n;" primitive_type identifier ;) (declaration "Fts4Option aFts4Opt [8];" type_identifier (array_declarator "aFts4Opt [8]" identifier [ number_literal ]) ;) (expression_statement "iVar2 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar2 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "rc = 0;" (assignment_expression "rc = 0" identifier = number_literal) ;) (expression_statement "cVar3 = (*argv)[3];" (assignment_expression "cVar3 = (*argv)[3]" identifier = (subscript_expression "(*argv)[3]" (parenthesized_expression "(*argv)" ( (pointer_expression "*argv" * identifier) )) [ number_literal ])) ;) (expression_statement "pTokenizer = (sqlite3_tokenizer *)0x0;" (assignment_expression "pTokenizer = (sqlite3_tokenizer *)0x0" identifier = (cast_expression "(sqlite3_tokenizer *)0x0" ( (type_descriptor "sqlite3_tokenizer *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar7 = strlen(argv[1]);" (assignment_expression "sVar7 = strlen(argv[1])" identifier = (call_expression "strlen(argv[1])" identifier (argument_list "(argv[1])" ( (subscript_expression "argv[1]" identifier [ number_literal ]) )))) ;) (expression_statement "sVar8 = strlen(argv[2]);" (assignment_expression "sVar8 = strlen(argv[2])" identifier = (call_expression "strlen(argv[2])" identifier (argument_list "(argv[2])" ( (subscript_expression "argv[2]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar13 = argc * 4 - 8;" (assignment_expression "uVar13 = argc * 4 - 8" identifier = (binary_expression "argc * 4 - 8" (binary_expression "argc * 4" identifier * number_literal) - number_literal)) ;) (expression_statement "local_cc = (undefined4 *)sqlite3_malloc64((ulonglong)uVar13);" (assignment_expression "local_cc = (undefined4 *)sqlite3_malloc64((ulonglong)uVar13)" identifier = (cast_expression "(undefined4 *)sqlite3_malloc64((ulonglong)uVar13)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3_malloc64((ulonglong)uVar13)" identifier (argument_list "((ulonglong)uVar13)" ( (cast_expression "(ulonglong)uVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) ))))) ;) (if_statement "if (local_cc != (undefined4 *)0x0) {\n    memset(local_cc,0,uVar13);\n    local_c0 = (int *)sqlite3_malloc64((ulonglong)uVar13);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,uVar13);\n      if ((rc == 0) && (3 < argc)) {\n        iVar17 = 0;\n        local_d0 = (char *)0x0;\n        iVar19 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar26 = false;\n        bVar5 = 0;\nLAB_000cfa14:\n        pcVar21 = argv[iVar19];\n        iVar19 = iVar19 + 1;\n        if ((((pTokenizer == (sqlite3_tokenizer *)0x0) && (sVar9 = strlen(pcVar21), 8 < sVar9)) &&\n            (iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8), iVar10 == 0)) &&\n           ((-1 < pcVar21[8] && (isFtsIdChar_41700[pcVar21[8]] == '\0')))) {\n          rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,pcVar21 + 9,&pTokenizer,pzErr);\n          goto LAB_000cfa0c;\n        }\n        if (cVar3 == '4') {\n          cVar4 = *pcVar21;\n          pcVar20 = pcVar21;\n          if (cVar4 == '=') {\n            local_b4 = (char *)0x0;\n          }\n          else {\n            do {\n              if (cVar4 == '\0') goto LAB_000cf9db;\n              pcVar20 = pcVar20 + 1;\n              cVar4 = *pcVar20;\n            } while (cVar4 != '=');\n            local_b4 = (char *)((int)pcVar20 - (int)pcVar21);\n          }\n          pbVar15 = (byte *)sqlite3_mprintf("%s",pcVar20 + 1);\n          if (pbVar15 != (byte *)0x0) {\n            sqlite3Fts3Dequote((char *)pbVar15);\n          }\n          aFts4Opt[0].nOpt = 9;\n          aFts4Opt[1].nOpt = 6;\n          aFts4Opt[0].zOpt = "matchinfo";\n          aFts4Opt[1].zOpt = "prefix";\n          aFts4Opt[2].zOpt = "compress";\n          aFts4Opt[3].zOpt = "uncompress";\n          aFts4Opt[4].zOpt = "order";\n          aFts4Opt[5].zOpt = "content";\n          aFts4Opt[6].zOpt = "languageid";\n          aFts4Opt[2].nOpt = 8;\n          aFts4Opt[3].nOpt = 10;\n          aFts4Opt[4].nOpt = 5;\n          aFts4Opt[5].nOpt = 7;\n          aFts4Opt[6].nOpt = 10;\n          aFts4Opt[7].zOpt = "notindexed";\n          aFts4Opt[7].nOpt = 10;\n          if (pbVar15 != (byte *)0x0) {\n            iVar10 = 9;\n            iVar23 = 0;\n            do {\n              pbVar16 = pbVar15;\n              if ((local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)) {\n                switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar23 = iVar23 + 1;\n              if (iVar23 == 8) goto LAB_000d0688;\n              iVar10 = aFts4Opt[iVar23].nOpt;\n            } while( true );\n          }\n          rc = 7;\n          bVar25 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar9 = strlen(pcVar21);\n        local_d0 = (char *)((int)local_d0 + 1U + sVar9);\n        local_cc[iVar17] = pcVar21;\n        iVar17 = iVar17 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar5 = 0;\n      iVar17 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar26 = false;\n      local_d0 = (char *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }" if (parenthesized_expression "(local_cc != (undefined4 *)0x0)" ( (binary_expression "local_cc != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    memset(local_cc,0,uVar13);\n    local_c0 = (int *)sqlite3_malloc64((ulonglong)uVar13);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,uVar13);\n      if ((rc == 0) && (3 < argc)) {\n        iVar17 = 0;\n        local_d0 = (char *)0x0;\n        iVar19 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar26 = false;\n        bVar5 = 0;\nLAB_000cfa14:\n        pcVar21 = argv[iVar19];\n        iVar19 = iVar19 + 1;\n        if ((((pTokenizer == (sqlite3_tokenizer *)0x0) && (sVar9 = strlen(pcVar21), 8 < sVar9)) &&\n            (iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8), iVar10 == 0)) &&\n           ((-1 < pcVar21[8] && (isFtsIdChar_41700[pcVar21[8]] == '\0')))) {\n          rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,pcVar21 + 9,&pTokenizer,pzErr);\n          goto LAB_000cfa0c;\n        }\n        if (cVar3 == '4') {\n          cVar4 = *pcVar21;\n          pcVar20 = pcVar21;\n          if (cVar4 == '=') {\n            local_b4 = (char *)0x0;\n          }\n          else {\n            do {\n              if (cVar4 == '\0') goto LAB_000cf9db;\n              pcVar20 = pcVar20 + 1;\n              cVar4 = *pcVar20;\n            } while (cVar4 != '=');\n            local_b4 = (char *)((int)pcVar20 - (int)pcVar21);\n          }\n          pbVar15 = (byte *)sqlite3_mprintf("%s",pcVar20 + 1);\n          if (pbVar15 != (byte *)0x0) {\n            sqlite3Fts3Dequote((char *)pbVar15);\n          }\n          aFts4Opt[0].nOpt = 9;\n          aFts4Opt[1].nOpt = 6;\n          aFts4Opt[0].zOpt = "matchinfo";\n          aFts4Opt[1].zOpt = "prefix";\n          aFts4Opt[2].zOpt = "compress";\n          aFts4Opt[3].zOpt = "uncompress";\n          aFts4Opt[4].zOpt = "order";\n          aFts4Opt[5].zOpt = "content";\n          aFts4Opt[6].zOpt = "languageid";\n          aFts4Opt[2].nOpt = 8;\n          aFts4Opt[3].nOpt = 10;\n          aFts4Opt[4].nOpt = 5;\n          aFts4Opt[5].nOpt = 7;\n          aFts4Opt[6].nOpt = 10;\n          aFts4Opt[7].zOpt = "notindexed";\n          aFts4Opt[7].nOpt = 10;\n          if (pbVar15 != (byte *)0x0) {\n            iVar10 = 9;\n            iVar23 = 0;\n            do {\n              pbVar16 = pbVar15;\n              if ((local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)) {\n                switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar23 = iVar23 + 1;\n              if (iVar23 == 8) goto LAB_000d0688;\n              iVar10 = aFts4Opt[iVar23].nOpt;\n            } while( true );\n          }\n          rc = 7;\n          bVar25 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar9 = strlen(pcVar21);\n        local_d0 = (char *)((int)local_d0 + 1U + sVar9);\n        local_cc[iVar17] = pcVar21;\n        iVar17 = iVar17 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar5 = 0;\n      iVar17 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar26 = false;\n      local_d0 = (char *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }" { (expression_statement "memset(local_cc,0,uVar13);" (call_expression "memset(local_cc,0,uVar13)" identifier (argument_list "(local_cc,0,uVar13)" ( identifier , number_literal , identifier ))) ;) (expression_statement "local_c0 = (int *)sqlite3_malloc64((ulonglong)uVar13);" (assignment_expression "local_c0 = (int *)sqlite3_malloc64((ulonglong)uVar13)" identifier = (cast_expression "(int *)sqlite3_malloc64((ulonglong)uVar13)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3_malloc64((ulonglong)uVar13)" identifier (argument_list "((ulonglong)uVar13)" ( (cast_expression "(ulonglong)uVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) ))))) ;) (if_statement "if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,uVar13);\n      if ((rc == 0) && (3 < argc)) {\n        iVar17 = 0;\n        local_d0 = (char *)0x0;\n        iVar19 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar26 = false;\n        bVar5 = 0;\nLAB_000cfa14:\n        pcVar21 = argv[iVar19];\n        iVar19 = iVar19 + 1;\n        if ((((pTokenizer == (sqlite3_tokenizer *)0x0) && (sVar9 = strlen(pcVar21), 8 < sVar9)) &&\n            (iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8), iVar10 == 0)) &&\n           ((-1 < pcVar21[8] && (isFtsIdChar_41700[pcVar21[8]] == '\0')))) {\n          rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,pcVar21 + 9,&pTokenizer,pzErr);\n          goto LAB_000cfa0c;\n        }\n        if (cVar3 == '4') {\n          cVar4 = *pcVar21;\n          pcVar20 = pcVar21;\n          if (cVar4 == '=') {\n            local_b4 = (char *)0x0;\n          }\n          else {\n            do {\n              if (cVar4 == '\0') goto LAB_000cf9db;\n              pcVar20 = pcVar20 + 1;\n              cVar4 = *pcVar20;\n            } while (cVar4 != '=');\n            local_b4 = (char *)((int)pcVar20 - (int)pcVar21);\n          }\n          pbVar15 = (byte *)sqlite3_mprintf("%s",pcVar20 + 1);\n          if (pbVar15 != (byte *)0x0) {\n            sqlite3Fts3Dequote((char *)pbVar15);\n          }\n          aFts4Opt[0].nOpt = 9;\n          aFts4Opt[1].nOpt = 6;\n          aFts4Opt[0].zOpt = "matchinfo";\n          aFts4Opt[1].zOpt = "prefix";\n          aFts4Opt[2].zOpt = "compress";\n          aFts4Opt[3].zOpt = "uncompress";\n          aFts4Opt[4].zOpt = "order";\n          aFts4Opt[5].zOpt = "content";\n          aFts4Opt[6].zOpt = "languageid";\n          aFts4Opt[2].nOpt = 8;\n          aFts4Opt[3].nOpt = 10;\n          aFts4Opt[4].nOpt = 5;\n          aFts4Opt[5].nOpt = 7;\n          aFts4Opt[6].nOpt = 10;\n          aFts4Opt[7].zOpt = "notindexed";\n          aFts4Opt[7].nOpt = 10;\n          if (pbVar15 != (byte *)0x0) {\n            iVar10 = 9;\n            iVar23 = 0;\n            do {\n              pbVar16 = pbVar15;\n              if ((local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)) {\n                switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar23 = iVar23 + 1;\n              if (iVar23 == 8) goto LAB_000d0688;\n              iVar10 = aFts4Opt[iVar23].nOpt;\n            } while( true );\n          }\n          rc = 7;\n          bVar25 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar9 = strlen(pcVar21);\n        local_d0 = (char *)((int)local_d0 + 1U + sVar9);\n        local_cc[iVar17] = pcVar21;\n        iVar17 = iVar17 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar5 = 0;\n      iVar17 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar26 = false;\n      local_d0 = (char *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }" if (parenthesized_expression "(local_c0 != (int *)0x0)" ( (binary_expression "local_c0 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      memset(local_c0,0,uVar13);\n      if ((rc == 0) && (3 < argc)) {\n        iVar17 = 0;\n        local_d0 = (char *)0x0;\n        iVar19 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar26 = false;\n        bVar5 = 0;\nLAB_000cfa14:\n        pcVar21 = argv[iVar19];\n        iVar19 = iVar19 + 1;\n        if ((((pTokenizer == (sqlite3_tokenizer *)0x0) && (sVar9 = strlen(pcVar21), 8 < sVar9)) &&\n            (iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8), iVar10 == 0)) &&\n           ((-1 < pcVar21[8] && (isFtsIdChar_41700[pcVar21[8]] == '\0')))) {\n          rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,pcVar21 + 9,&pTokenizer,pzErr);\n          goto LAB_000cfa0c;\n        }\n        if (cVar3 == '4') {\n          cVar4 = *pcVar21;\n          pcVar20 = pcVar21;\n          if (cVar4 == '=') {\n            local_b4 = (char *)0x0;\n          }\n          else {\n            do {\n              if (cVar4 == '\0') goto LAB_000cf9db;\n              pcVar20 = pcVar20 + 1;\n              cVar4 = *pcVar20;\n            } while (cVar4 != '=');\n            local_b4 = (char *)((int)pcVar20 - (int)pcVar21);\n          }\n          pbVar15 = (byte *)sqlite3_mprintf("%s",pcVar20 + 1);\n          if (pbVar15 != (byte *)0x0) {\n            sqlite3Fts3Dequote((char *)pbVar15);\n          }\n          aFts4Opt[0].nOpt = 9;\n          aFts4Opt[1].nOpt = 6;\n          aFts4Opt[0].zOpt = "matchinfo";\n          aFts4Opt[1].zOpt = "prefix";\n          aFts4Opt[2].zOpt = "compress";\n          aFts4Opt[3].zOpt = "uncompress";\n          aFts4Opt[4].zOpt = "order";\n          aFts4Opt[5].zOpt = "content";\n          aFts4Opt[6].zOpt = "languageid";\n          aFts4Opt[2].nOpt = 8;\n          aFts4Opt[3].nOpt = 10;\n          aFts4Opt[4].nOpt = 5;\n          aFts4Opt[5].nOpt = 7;\n          aFts4Opt[6].nOpt = 10;\n          aFts4Opt[7].zOpt = "notindexed";\n          aFts4Opt[7].nOpt = 10;\n          if (pbVar15 != (byte *)0x0) {\n            iVar10 = 9;\n            iVar23 = 0;\n            do {\n              pbVar16 = pbVar15;\n              if ((local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)) {\n                switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar23 = iVar23 + 1;\n              if (iVar23 == 8) goto LAB_000d0688;\n              iVar10 = aFts4Opt[iVar23].nOpt;\n            } while( true );\n          }\n          rc = 7;\n          bVar25 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar9 = strlen(pcVar21);\n        local_d0 = (char *)((int)local_d0 + 1U + sVar9);\n        local_cc[iVar17] = pcVar21;\n        iVar17 = iVar17 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar5 = 0;\n      iVar17 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar26 = false;\n      local_d0 = (char *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }" { (expression_statement "memset(local_c0,0,uVar13);" (call_expression "memset(local_c0,0,uVar13)" identifier (argument_list "(local_c0,0,uVar13)" ( identifier , number_literal , identifier ))) ;) (if_statement "if ((rc == 0) && (3 < argc)) {\n        iVar17 = 0;\n        local_d0 = (char *)0x0;\n        iVar19 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar26 = false;\n        bVar5 = 0;\nLAB_000cfa14:\n        pcVar21 = argv[iVar19];\n        iVar19 = iVar19 + 1;\n        if ((((pTokenizer == (sqlite3_tokenizer *)0x0) && (sVar9 = strlen(pcVar21), 8 < sVar9)) &&\n            (iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8), iVar10 == 0)) &&\n           ((-1 < pcVar21[8] && (isFtsIdChar_41700[pcVar21[8]] == '\0')))) {\n          rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,pcVar21 + 9,&pTokenizer,pzErr);\n          goto LAB_000cfa0c;\n        }\n        if (cVar3 == '4') {\n          cVar4 = *pcVar21;\n          pcVar20 = pcVar21;\n          if (cVar4 == '=') {\n            local_b4 = (char *)0x0;\n          }\n          else {\n            do {\n              if (cVar4 == '\0') goto LAB_000cf9db;\n              pcVar20 = pcVar20 + 1;\n              cVar4 = *pcVar20;\n            } while (cVar4 != '=');\n            local_b4 = (char *)((int)pcVar20 - (int)pcVar21);\n          }\n          pbVar15 = (byte *)sqlite3_mprintf("%s",pcVar20 + 1);\n          if (pbVar15 != (byte *)0x0) {\n            sqlite3Fts3Dequote((char *)pbVar15);\n          }\n          aFts4Opt[0].nOpt = 9;\n          aFts4Opt[1].nOpt = 6;\n          aFts4Opt[0].zOpt = "matchinfo";\n          aFts4Opt[1].zOpt = "prefix";\n          aFts4Opt[2].zOpt = "compress";\n          aFts4Opt[3].zOpt = "uncompress";\n          aFts4Opt[4].zOpt = "order";\n          aFts4Opt[5].zOpt = "content";\n          aFts4Opt[6].zOpt = "languageid";\n          aFts4Opt[2].nOpt = 8;\n          aFts4Opt[3].nOpt = 10;\n          aFts4Opt[4].nOpt = 5;\n          aFts4Opt[5].nOpt = 7;\n          aFts4Opt[6].nOpt = 10;\n          aFts4Opt[7].zOpt = "notindexed";\n          aFts4Opt[7].nOpt = 10;\n          if (pbVar15 != (byte *)0x0) {\n            iVar10 = 9;\n            iVar23 = 0;\n            do {\n              pbVar16 = pbVar15;\n              if ((local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)) {\n                switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar23 = iVar23 + 1;\n              if (iVar23 == 8) goto LAB_000d0688;\n              iVar10 = aFts4Opt[iVar23].nOpt;\n            } while( true );\n          }\n          rc = 7;\n          bVar25 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar9 = strlen(pcVar21);\n        local_d0 = (char *)((int)local_d0 + 1U + sVar9);\n        local_cc[iVar17] = pcVar21;\n        iVar17 = iVar17 + 1;\n        goto LAB_000cfa0c;\n      }" if (parenthesized_expression "((rc == 0) && (3 < argc))" ( (binary_expression "(rc == 0) && (3 < argc)" (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) )) && (parenthesized_expression "(3 < argc)" ( (binary_expression "3 < argc" number_literal < identifier) ))) )) (compound_statement "{\n        iVar17 = 0;\n        local_d0 = (char *)0x0;\n        iVar19 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar26 = false;\n        bVar5 = 0;\nLAB_000cfa14:\n        pcVar21 = argv[iVar19];\n        iVar19 = iVar19 + 1;\n        if ((((pTokenizer == (sqlite3_tokenizer *)0x0) && (sVar9 = strlen(pcVar21), 8 < sVar9)) &&\n            (iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8), iVar10 == 0)) &&\n           ((-1 < pcVar21[8] && (isFtsIdChar_41700[pcVar21[8]] == '\0')))) {\n          rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,pcVar21 + 9,&pTokenizer,pzErr);\n          goto LAB_000cfa0c;\n        }\n        if (cVar3 == '4') {\n          cVar4 = *pcVar21;\n          pcVar20 = pcVar21;\n          if (cVar4 == '=') {\n            local_b4 = (char *)0x0;\n          }\n          else {\n            do {\n              if (cVar4 == '\0') goto LAB_000cf9db;\n              pcVar20 = pcVar20 + 1;\n              cVar4 = *pcVar20;\n            } while (cVar4 != '=');\n            local_b4 = (char *)((int)pcVar20 - (int)pcVar21);\n          }\n          pbVar15 = (byte *)sqlite3_mprintf("%s",pcVar20 + 1);\n          if (pbVar15 != (byte *)0x0) {\n            sqlite3Fts3Dequote((char *)pbVar15);\n          }\n          aFts4Opt[0].nOpt = 9;\n          aFts4Opt[1].nOpt = 6;\n          aFts4Opt[0].zOpt = "matchinfo";\n          aFts4Opt[1].zOpt = "prefix";\n          aFts4Opt[2].zOpt = "compress";\n          aFts4Opt[3].zOpt = "uncompress";\n          aFts4Opt[4].zOpt = "order";\n          aFts4Opt[5].zOpt = "content";\n          aFts4Opt[6].zOpt = "languageid";\n          aFts4Opt[2].nOpt = 8;\n          aFts4Opt[3].nOpt = 10;\n          aFts4Opt[4].nOpt = 5;\n          aFts4Opt[5].nOpt = 7;\n          aFts4Opt[6].nOpt = 10;\n          aFts4Opt[7].zOpt = "notindexed";\n          aFts4Opt[7].nOpt = 10;\n          if (pbVar15 != (byte *)0x0) {\n            iVar10 = 9;\n            iVar23 = 0;\n            do {\n              pbVar16 = pbVar15;\n              if ((local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)) {\n                switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar23 = iVar23 + 1;\n              if (iVar23 == 8) goto LAB_000d0688;\n              iVar10 = aFts4Opt[iVar23].nOpt;\n            } while( true );\n          }\n          rc = 7;\n          bVar25 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar9 = strlen(pcVar21);\n        local_d0 = (char *)((int)local_d0 + 1U + sVar9);\n        local_cc[iVar17] = pcVar21;\n        iVar17 = iVar17 + 1;\n        goto LAB_000cfa0c;\n      }" { (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "local_d0 = (char *)0x0;" (assignment_expression "local_d0 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar19 = 3;" (assignment_expression "iVar19 = 3" identifier = number_literal) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = (byte *)0x0;" (assignment_expression "local_a8 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar5 = 0;" (assignment_expression "bVar5 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000cfa14:\n        pcVar21 = argv[iVar19];" statement_identifier : (expression_statement "pcVar21 = argv[iVar19];" (assignment_expression "pcVar21 = argv[iVar19]" identifier = (subscript_expression "argv[iVar19]" identifier [ identifier ])) ;)) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (if_statement "if ((((pTokenizer == (sqlite3_tokenizer *)0x0) && (sVar9 = strlen(pcVar21), 8 < sVar9)) &&\n            (iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8), iVar10 == 0)) &&\n           ((-1 < pcVar21[8] && (isFtsIdChar_41700[pcVar21[8]] == '\0')))) {\n          rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,pcVar21 + 9,&pTokenizer,pzErr);\n          goto LAB_000cfa0c;\n        }" if (parenthesized_expression "((((pTokenizer == (sqlite3_tokenizer *)0x0) && (sVar9 = strlen(pcVar21), 8 < sVar9)) &&\n            (iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8), iVar10 == 0)) &&\n           ((-1 < pcVar21[8] && (isFtsIdChar_41700[pcVar21[8]] == '\0'))))" ( (binary_expression "(((pTokenizer == (sqlite3_tokenizer *)0x0) && (sVar9 = strlen(pcVar21), 8 < sVar9)) &&\n            (iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8), iVar10 == 0)) &&\n           ((-1 < pcVar21[8] && (isFtsIdChar_41700[pcVar21[8]] == '\0')))" (parenthesized_expression "(((pTokenizer == (sqlite3_tokenizer *)0x0) && (sVar9 = strlen(pcVar21), 8 < sVar9)) &&\n            (iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8), iVar10 == 0))" ( (binary_expression "((pTokenizer == (sqlite3_tokenizer *)0x0) && (sVar9 = strlen(pcVar21), 8 < sVar9)) &&\n            (iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8), iVar10 == 0)" (parenthesized_expression "((pTokenizer == (sqlite3_tokenizer *)0x0) && (sVar9 = strlen(pcVar21), 8 < sVar9))" ( (binary_expression "(pTokenizer == (sqlite3_tokenizer *)0x0) && (sVar9 = strlen(pcVar21), 8 < sVar9)" (parenthesized_expression "(pTokenizer == (sqlite3_tokenizer *)0x0)" ( (binary_expression "pTokenizer == (sqlite3_tokenizer *)0x0" identifier == (cast_expression "(sqlite3_tokenizer *)0x0" ( (type_descriptor "sqlite3_tokenizer *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(sVar9 = strlen(pcVar21), 8 < sVar9)" ( (comma_expression "sVar9 = strlen(pcVar21), 8 < sVar9" (assignment_expression "sVar9 = strlen(pcVar21)" identifier = (call_expression "strlen(pcVar21)" identifier (argument_list "(pcVar21)" ( identifier )))) , (binary_expression "8 < sVar9" number_literal < identifier)) ))) )) && (parenthesized_expression "(iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8), iVar10 == 0)" ( (comma_expression "iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8), iVar10 == 0" (assignment_expression "iVar10 = sqlite3_strnicmp(pcVar21,"tokenize",8)" identifier = (call_expression "sqlite3_strnicmp(pcVar21,"tokenize",8)" identifier (argument_list "(pcVar21,"tokenize",8)" ( identifier , (string_literal ""tokenize"" " string_content ") , number_literal )))) , (binary_expression "iVar10 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "((-1 < pcVar21[8] && (isFtsIdChar_41700[pcVar21[8]] == '\0')))" ( (parenthesized_expression "(-1 < pcVar21[8] && (isFtsIdChar_41700[pcVar21[8]] == '\0'))" ( (binary_expression "-1 < pcVar21[8] && (isFtsIdChar_41700[pcVar21[8]] == '\0')" (binary_expression "-1 < pcVar21[8]" number_literal < (subscript_expression "pcVar21[8]" identifier [ number_literal ])) && (parenthesized_expression "(isFtsIdChar_41700[pcVar21[8]] == '\0')" ( (binary_expression "isFtsIdChar_41700[pcVar21[8]] == '\0'" (subscript_expression "isFtsIdChar_41700[pcVar21[8]]" identifier [ (subscript_expression "pcVar21[8]" identifier [ number_literal ]) ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n          rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,pcVar21 + 9,&pTokenizer,pzErr);\n          goto LAB_000cfa0c;\n        }" { (expression_statement "rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,pcVar21 + 9,&pTokenizer,pzErr);" (assignment_expression "rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,pcVar21 + 9,&pTokenizer,pzErr)" identifier = (call_expression "sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,pcVar21 + 9,&pTokenizer,pzErr)" identifier (argument_list "((Fts3Hash *)pAux,pcVar21 + 9,&pTokenizer,pzErr)" ( (cast_expression "(Fts3Hash *)pAux" ( (type_descriptor "Fts3Hash *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "pcVar21 + 9" identifier + number_literal) , (pointer_expression "&pTokenizer" & identifier) , identifier )))) ;) (goto_statement "goto LAB_000cfa0c;" goto statement_identifier ;) })) (if_statement "if (cVar3 == '4') {\n          cVar4 = *pcVar21;\n          pcVar20 = pcVar21;\n          if (cVar4 == '=') {\n            local_b4 = (char *)0x0;\n          }\n          else {\n            do {\n              if (cVar4 == '\0') goto LAB_000cf9db;\n              pcVar20 = pcVar20 + 1;\n              cVar4 = *pcVar20;\n            } while (cVar4 != '=');\n            local_b4 = (char *)((int)pcVar20 - (int)pcVar21);\n          }\n          pbVar15 = (byte *)sqlite3_mprintf("%s",pcVar20 + 1);\n          if (pbVar15 != (byte *)0x0) {\n            sqlite3Fts3Dequote((char *)pbVar15);\n          }\n          aFts4Opt[0].nOpt = 9;\n          aFts4Opt[1].nOpt = 6;\n          aFts4Opt[0].zOpt = "matchinfo";\n          aFts4Opt[1].zOpt = "prefix";\n          aFts4Opt[2].zOpt = "compress";\n          aFts4Opt[3].zOpt = "uncompress";\n          aFts4Opt[4].zOpt = "order";\n          aFts4Opt[5].zOpt = "content";\n          aFts4Opt[6].zOpt = "languageid";\n          aFts4Opt[2].nOpt = 8;\n          aFts4Opt[3].nOpt = 10;\n          aFts4Opt[4].nOpt = 5;\n          aFts4Opt[5].nOpt = 7;\n          aFts4Opt[6].nOpt = 10;\n          aFts4Opt[7].zOpt = "notindexed";\n          aFts4Opt[7].nOpt = 10;\n          if (pbVar15 != (byte *)0x0) {\n            iVar10 = 9;\n            iVar23 = 0;\n            do {\n              pbVar16 = pbVar15;\n              if ((local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)) {\n                switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar23 = iVar23 + 1;\n              if (iVar23 == 8) goto LAB_000d0688;\n              iVar10 = aFts4Opt[iVar23].nOpt;\n            } while( true );\n          }\n          rc = 7;\n          bVar25 = false;\n          goto LAB_000cfd03;\n        }" if (parenthesized_expression "(cVar3 == '4')" ( (binary_expression "cVar3 == '4'" identifier == (char_literal "'4'" ' character ')) )) (compound_statement "{\n          cVar4 = *pcVar21;\n          pcVar20 = pcVar21;\n          if (cVar4 == '=') {\n            local_b4 = (char *)0x0;\n          }\n          else {\n            do {\n              if (cVar4 == '\0') goto LAB_000cf9db;\n              pcVar20 = pcVar20 + 1;\n              cVar4 = *pcVar20;\n            } while (cVar4 != '=');\n            local_b4 = (char *)((int)pcVar20 - (int)pcVar21);\n          }\n          pbVar15 = (byte *)sqlite3_mprintf("%s",pcVar20 + 1);\n          if (pbVar15 != (byte *)0x0) {\n            sqlite3Fts3Dequote((char *)pbVar15);\n          }\n          aFts4Opt[0].nOpt = 9;\n          aFts4Opt[1].nOpt = 6;\n          aFts4Opt[0].zOpt = "matchinfo";\n          aFts4Opt[1].zOpt = "prefix";\n          aFts4Opt[2].zOpt = "compress";\n          aFts4Opt[3].zOpt = "uncompress";\n          aFts4Opt[4].zOpt = "order";\n          aFts4Opt[5].zOpt = "content";\n          aFts4Opt[6].zOpt = "languageid";\n          aFts4Opt[2].nOpt = 8;\n          aFts4Opt[3].nOpt = 10;\n          aFts4Opt[4].nOpt = 5;\n          aFts4Opt[5].nOpt = 7;\n          aFts4Opt[6].nOpt = 10;\n          aFts4Opt[7].zOpt = "notindexed";\n          aFts4Opt[7].nOpt = 10;\n          if (pbVar15 != (byte *)0x0) {\n            iVar10 = 9;\n            iVar23 = 0;\n            do {\n              pbVar16 = pbVar15;\n              if ((local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)) {\n                switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar23 = iVar23 + 1;\n              if (iVar23 == 8) goto LAB_000d0688;\n              iVar10 = aFts4Opt[iVar23].nOpt;\n            } while( true );\n          }\n          rc = 7;\n          bVar25 = false;\n          goto LAB_000cfd03;\n        }" { (expression_statement "cVar4 = *pcVar21;" (assignment_expression "cVar4 = *pcVar21" identifier = (pointer_expression "*pcVar21" * identifier)) ;) (expression_statement "pcVar20 = pcVar21;" (assignment_expression "pcVar20 = pcVar21" identifier = identifier) ;) (if_statement "if (cVar4 == '=') {\n            local_b4 = (char *)0x0;\n          }\n          else {\n            do {\n              if (cVar4 == '\0') goto LAB_000cf9db;\n              pcVar20 = pcVar20 + 1;\n              cVar4 = *pcVar20;\n            } while (cVar4 != '=');\n            local_b4 = (char *)((int)pcVar20 - (int)pcVar21);\n          }" if (parenthesized_expression "(cVar4 == '=')" ( (binary_expression "cVar4 == '='" identifier == (char_literal "'='" ' character ')) )) (compound_statement "{\n            local_b4 = (char *)0x0;\n          }" { (expression_statement "local_b4 = (char *)0x0;" (assignment_expression "local_b4 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            do {\n              if (cVar4 == '\0') goto LAB_000cf9db;\n              pcVar20 = pcVar20 + 1;\n              cVar4 = *pcVar20;\n            } while (cVar4 != '=');\n            local_b4 = (char *)((int)pcVar20 - (int)pcVar21);\n          }" else (compound_statement "{\n            do {\n              if (cVar4 == '\0') goto LAB_000cf9db;\n              pcVar20 = pcVar20 + 1;\n              cVar4 = *pcVar20;\n            } while (cVar4 != '=');\n            local_b4 = (char *)((int)pcVar20 - (int)pcVar21);\n          }" { (do_statement "do {\n              if (cVar4 == '\0') goto LAB_000cf9db;\n              pcVar20 = pcVar20 + 1;\n              cVar4 = *pcVar20;\n            } while (cVar4 != '=');" do (compound_statement "{\n              if (cVar4 == '\0') goto LAB_000cf9db;\n              pcVar20 = pcVar20 + 1;\n              cVar4 = *pcVar20;\n            }" { (if_statement "if (cVar4 == '\0') goto LAB_000cf9db;" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000cf9db;" goto statement_identifier ;)) (expression_statement "pcVar20 = pcVar20 + 1;" (assignment_expression "pcVar20 = pcVar20 + 1" identifier = (binary_expression "pcVar20 + 1" identifier + number_literal)) ;) (expression_statement "cVar4 = *pcVar20;" (assignment_expression "cVar4 = *pcVar20" identifier = (pointer_expression "*pcVar20" * identifier)) ;) }) while (parenthesized_expression "(cVar4 != '=')" ( (binary_expression "cVar4 != '='" identifier != (char_literal "'='" ' character ')) )) ;) (expression_statement "local_b4 = (char *)((int)pcVar20 - (int)pcVar21);" (assignment_expression "local_b4 = (char *)((int)pcVar20 - (int)pcVar21)" identifier = (cast_expression "(char *)((int)pcVar20 - (int)pcVar21)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pcVar20 - (int)pcVar21)" ( (binary_expression "(int)pcVar20 - (int)pcVar21" (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) (expression_statement "pbVar15 = (byte *)sqlite3_mprintf("%s",pcVar20 + 1);" (assignment_expression "pbVar15 = (byte *)sqlite3_mprintf("%s",pcVar20 + 1)" identifier = (cast_expression "(byte *)sqlite3_mprintf("%s",pcVar20 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3_mprintf("%s",pcVar20 + 1)" identifier (argument_list "("%s",pcVar20 + 1)" ( (string_literal ""%s"" " string_content ") , (binary_expression "pcVar20 + 1" identifier + number_literal) ))))) ;) (if_statement "if (pbVar15 != (byte *)0x0) {\n            sqlite3Fts3Dequote((char *)pbVar15);\n          }" if (parenthesized_expression "(pbVar15 != (byte *)0x0)" ( (binary_expression "pbVar15 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            sqlite3Fts3Dequote((char *)pbVar15);\n          }" { (expression_statement "sqlite3Fts3Dequote((char *)pbVar15);" (call_expression "sqlite3Fts3Dequote((char *)pbVar15)" identifier (argument_list "((char *)pbVar15)" ( (cast_expression "(char *)pbVar15" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) (expression_statement "aFts4Opt[0].nOpt = 9;" (assignment_expression "aFts4Opt[0].nOpt = 9" (field_expression "aFts4Opt[0].nOpt" (subscript_expression "aFts4Opt[0]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "aFts4Opt[1].nOpt = 6;" (assignment_expression "aFts4Opt[1].nOpt = 6" (field_expression "aFts4Opt[1].nOpt" (subscript_expression "aFts4Opt[1]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "aFts4Opt[0].zOpt = "matchinfo";" (assignment_expression "aFts4Opt[0].zOpt = "matchinfo"" (field_expression "aFts4Opt[0].zOpt" (subscript_expression "aFts4Opt[0]" identifier [ number_literal ]) . field_identifier) = (string_literal ""matchinfo"" " string_content ")) ;) (expression_statement "aFts4Opt[1].zOpt = "prefix";" (assignment_expression "aFts4Opt[1].zOpt = "prefix"" (field_expression "aFts4Opt[1].zOpt" (subscript_expression "aFts4Opt[1]" identifier [ number_literal ]) . field_identifier) = (string_literal ""prefix"" " string_content ")) ;) (expression_statement "aFts4Opt[2].zOpt = "compress";" (assignment_expression "aFts4Opt[2].zOpt = "compress"" (field_expression "aFts4Opt[2].zOpt" (subscript_expression "aFts4Opt[2]" identifier [ number_literal ]) . field_identifier) = (string_literal ""compress"" " string_content ")) ;) (expression_statement "aFts4Opt[3].zOpt = "uncompress";" (assignment_expression "aFts4Opt[3].zOpt = "uncompress"" (field_expression "aFts4Opt[3].zOpt" (subscript_expression "aFts4Opt[3]" identifier [ number_literal ]) . field_identifier) = (string_literal ""uncompress"" " string_content ")) ;) (expression_statement "aFts4Opt[4].zOpt = "order";" (assignment_expression "aFts4Opt[4].zOpt = "order"" (field_expression "aFts4Opt[4].zOpt" (subscript_expression "aFts4Opt[4]" identifier [ number_literal ]) . field_identifier) = (string_literal ""order"" " string_content ")) ;) (expression_statement "aFts4Opt[5].zOpt = "content";" (assignment_expression "aFts4Opt[5].zOpt = "content"" (field_expression "aFts4Opt[5].zOpt" (subscript_expression "aFts4Opt[5]" identifier [ number_literal ]) . field_identifier) = (string_literal ""content"" " string_content ")) ;) (expression_statement "aFts4Opt[6].zOpt = "languageid";" (assignment_expression "aFts4Opt[6].zOpt = "languageid"" (field_expression "aFts4Opt[6].zOpt" (subscript_expression "aFts4Opt[6]" identifier [ number_literal ]) . field_identifier) = (string_literal ""languageid"" " string_content ")) ;) (expression_statement "aFts4Opt[2].nOpt = 8;" (assignment_expression "aFts4Opt[2].nOpt = 8" (field_expression "aFts4Opt[2].nOpt" (subscript_expression "aFts4Opt[2]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "aFts4Opt[3].nOpt = 10;" (assignment_expression "aFts4Opt[3].nOpt = 10" (field_expression "aFts4Opt[3].nOpt" (subscript_expression "aFts4Opt[3]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "aFts4Opt[4].nOpt = 5;" (assignment_expression "aFts4Opt[4].nOpt = 5" (field_expression "aFts4Opt[4].nOpt" (subscript_expression "aFts4Opt[4]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "aFts4Opt[5].nOpt = 7;" (assignment_expression "aFts4Opt[5].nOpt = 7" (field_expression "aFts4Opt[5].nOpt" (subscript_expression "aFts4Opt[5]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "aFts4Opt[6].nOpt = 10;" (assignment_expression "aFts4Opt[6].nOpt = 10" (field_expression "aFts4Opt[6].nOpt" (subscript_expression "aFts4Opt[6]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "aFts4Opt[7].zOpt = "notindexed";" (assignment_expression "aFts4Opt[7].zOpt = "notindexed"" (field_expression "aFts4Opt[7].zOpt" (subscript_expression "aFts4Opt[7]" identifier [ number_literal ]) . field_identifier) = (string_literal ""notindexed"" " string_content ")) ;) (expression_statement "aFts4Opt[7].nOpt = 10;" (assignment_expression "aFts4Opt[7].nOpt = 10" (field_expression "aFts4Opt[7].nOpt" (subscript_expression "aFts4Opt[7]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (if_statement "if (pbVar15 != (byte *)0x0) {\n            iVar10 = 9;\n            iVar23 = 0;\n            do {\n              pbVar16 = pbVar15;\n              if ((local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)) {\n                switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar23 = iVar23 + 1;\n              if (iVar23 == 8) goto LAB_000d0688;\n              iVar10 = aFts4Opt[iVar23].nOpt;\n            } while( true );\n          }" if (parenthesized_expression "(pbVar15 != (byte *)0x0)" ( (binary_expression "pbVar15 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar10 = 9;\n            iVar23 = 0;\n            do {\n              pbVar16 = pbVar15;\n              if ((local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)) {\n                switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar23 = iVar23 + 1;\n              if (iVar23 == 8) goto LAB_000d0688;\n              iVar10 = aFts4Opt[iVar23].nOpt;\n            } while( true );\n          }" { (expression_statement "iVar10 = 9;" (assignment_expression "iVar10 = 9" identifier = number_literal) ;) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n              pbVar16 = pbVar15;\n              if ((local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)) {\n                switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar23 = iVar23 + 1;\n              if (iVar23 == 8) goto LAB_000d0688;\n              iVar10 = aFts4Opt[iVar23].nOpt;\n            } while( true );" do (compound_statement "{\n              pbVar16 = pbVar15;\n              if ((local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)) {\n                switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar23 = iVar23 + 1;\n              if (iVar23 == 8) goto LAB_000d0688;\n              iVar10 = aFts4Opt[iVar23].nOpt;\n            }" { (expression_statement "pbVar16 = pbVar15;" (assignment_expression "pbVar16 = pbVar15" identifier = identifier) ;) (if_statement "if ((local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)) {\n                switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }" if (parenthesized_expression "((local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0))" ( (binary_expression "(local_b4 == (char *)iVar10) &&\n                 (iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)" (parenthesized_expression "(local_b4 == (char *)iVar10)" ( (binary_expression "local_b4 == (char *)iVar10" identifier == (cast_expression "(char *)iVar10" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )) && (parenthesized_expression "(iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0)" ( (comma_expression "iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4),\n                 iVar10 == 0" (assignment_expression "iVar10 = sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4)" identifier = (call_expression "sqlite3_strnicmp(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4)" identifier (argument_list "(pcVar21,aFts4Opt[iVar23].zOpt,(int)local_b4)" ( identifier , (field_expression "aFts4Opt[iVar23].zOpt" (subscript_expression "aFts4Opt[iVar23]" identifier [ identifier ]) . field_identifier) , (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) )))) , (binary_expression "iVar10 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }" { (switch_statement "switch(iVar23) {\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }" switch (parenthesized_expression "(iVar23)" ( identifier )) (compound_statement "{\n                default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;\n                case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;\n                case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;\n                case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;\n                case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;\n                case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;\n                }" { (case_statement "default:\n                  sVar9 = strlen((char *)pbVar15);\n                  if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }\n                  break;" default : (expression_statement "sVar9 = strlen((char *)pbVar15);" (assignment_expression "sVar9 = strlen((char *)pbVar15)" identifier = (call_expression "strlen((char *)pbVar15)" identifier (argument_list "((char *)pbVar15)" ( (cast_expression "(char *)pbVar15" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if ((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)) {\n                    bVar5 = 1;\n                  }\n                  else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }" if (parenthesized_expression "((sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0))" ( (binary_expression "(sVar9 == 4) &&\n                     (iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)" (parenthesized_expression "(sVar9 == 4)" ( (binary_expression "sVar9 == 4" identifier == number_literal) )) && (parenthesized_expression "(iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0)" ( (comma_expression "iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4), iVar10 == 0" (assignment_expression "iVar10 = sqlite3_strnicmp((char *)pbVar15,"fts3",4)" identifier = (call_expression "sqlite3_strnicmp((char *)pbVar15,"fts3",4)" identifier (argument_list "((char *)pbVar15,"fts3",4)" ( (cast_expression "(char *)pbVar15" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""fts3"" " string_content ") , number_literal )))) , (binary_expression "iVar10 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                    bVar5 = 1;\n                  }" { (expression_statement "bVar5 = 1;" (assignment_expression "bVar5 = 1" identifier = number_literal) ;) }) (else_clause "else {\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }" else (compound_statement "{\n                    sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);\n                    rc = 1;\n                    bVar5 = 1;\n                  }" { (expression_statement "sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15);" (call_expression "sqlite3Fts3ErrMsg(pzErr,"unrecognized matchinfo: %s",pbVar15)" identifier (argument_list "(pzErr,"unrecognized matchinfo: %s",pbVar15)" ( identifier , (string_literal ""unrecognized matchinfo: %s"" " string_content ") , identifier ))) ;) (expression_statement "rc = 1;" (assignment_expression "rc = 1" identifier = number_literal) ;) (expression_statement "bVar5 = 1;" (assignment_expression "bVar5 = 1" identifier = number_literal) ;) }))) (break_statement "break;" break ;)) (case_statement "case 1:\n                  sqlite3_free(local_a8);\n                  pbVar16 = (byte *)0x0;\n                  local_a8 = pbVar15;\n                  break;" case number_literal : (expression_statement "sqlite3_free(local_a8);" (call_expression "sqlite3_free(local_a8)" identifier (argument_list "(local_a8)" ( identifier ))) ;) (expression_statement "pbVar16 = (byte *)0x0;" (assignment_expression "pbVar16 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = pbVar15;" (assignment_expression "local_a8 = pbVar15" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n                  sqlite3_free(local_a4);\n                  pbVar16 = (byte *)0x0;\n                  local_a4 = pbVar15;\n                  break;" case number_literal : (expression_statement "sqlite3_free(local_a4);" (call_expression "sqlite3_free(local_a4)" identifier (argument_list "(local_a4)" ( identifier ))) ;) (expression_statement "pbVar16 = (byte *)0x0;" (assignment_expression "pbVar16 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = pbVar15;" (assignment_expression "local_a4 = pbVar15" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n                  sqlite3_free(local_a0);\n                  pbVar16 = (byte *)0x0;\n                  local_a0 = pbVar15;\n                  break;" case number_literal : (expression_statement "sqlite3_free(local_a0);" (call_expression "sqlite3_free(local_a0)" identifier (argument_list "(local_a0)" ( identifier ))) ;) (expression_statement "pbVar16 = (byte *)0x0;" (assignment_expression "pbVar16 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = pbVar15;" (assignment_expression "local_a0 = pbVar15" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n                  sVar9 = strlen((char *)pbVar15);\n                  if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }\n                  bVar26 = (*pbVar15 & 0xdf) == 0x44;\n                  break;" case number_literal : (expression_statement "sVar9 = strlen((char *)pbVar15);" (assignment_expression "sVar9 = strlen((char *)pbVar15)" identifier = (call_expression "strlen((char *)pbVar15)" identifier (argument_list "((char *)pbVar15)" ( (cast_expression "(char *)pbVar15" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (sVar9 == 3) {\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }\n                  else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }" if (parenthesized_expression "(sVar9 == 3)" ( (binary_expression "sVar9 == 3" identifier == number_literal) )) (compound_statement "{\n                    iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);\n                    if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }\n                  }" { (expression_statement "iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3);" (assignment_expression "iVar10 = sqlite3_strnicmp((char *)pbVar15,"asc",3)" identifier = (call_expression "sqlite3_strnicmp((char *)pbVar15,"asc",3)" identifier (argument_list "((char *)pbVar15,"asc",3)" ( (cast_expression "(char *)pbVar15" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""asc"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar10 != 0) {\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n                      sVar9 = strlen((char *)pbVar15);\n                      goto LAB_000d0c76;\n                    }" { (expression_statement "sVar9 = strlen((char *)pbVar15);" (assignment_expression "sVar9 = strlen((char *)pbVar15)" identifier = (call_expression "strlen((char *)pbVar15)" identifier (argument_list "((char *)pbVar15)" ( (cast_expression "(char *)pbVar15" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (goto_statement "goto LAB_000d0c76;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }" else (compound_statement "{\nLAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }\n                  }" { (labeled_statement "LAB_000d0c76:\n                    if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }" statement_identifier : (if_statement "if ((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)) {\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }" if (parenthesized_expression "((sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0))" ( (binary_expression "(sVar9 != 4) ||\n                       (iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)" (parenthesized_expression "(sVar9 != 4)" ( (binary_expression "sVar9 != 4" identifier != number_literal) )) || (parenthesized_expression "(iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0)" ( (comma_expression "iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4), iVar10 != 0" (assignment_expression "iVar10 = sqlite3_strnicmp((char *)pbVar15,"desc",4)" identifier = (call_expression "sqlite3_strnicmp((char *)pbVar15,"desc",4)" identifier (argument_list "((char *)pbVar15,"desc",4)" ( (cast_expression "(char *)pbVar15" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""desc"" " string_content ") , number_literal )))) , (binary_expression "iVar10 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                      sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);\n                      rc = 1;\n                    }" { (expression_statement "sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15);" (call_expression "sqlite3Fts3ErrMsg(pzErr,"unrecognized order: %s",pbVar15)" identifier (argument_list "(pzErr,"unrecognized order: %s",pbVar15)" ( identifier , (string_literal ""unrecognized order: %s"" " string_content ") , identifier ))) ;) (expression_statement "rc = 1;" (assignment_expression "rc = 1" identifier = number_literal) ;) }))) }))) (expression_statement "bVar26 = (*pbVar15 & 0xdf) == 0x44;" (assignment_expression "bVar26 = (*pbVar15 & 0xdf) == 0x44" identifier = (binary_expression "(*pbVar15 & 0xdf) == 0x44" (parenthesized_expression "(*pbVar15 & 0xdf)" ( (binary_expression "*pbVar15 & 0xdf" (pointer_expression "*pbVar15" * identifier) & number_literal) )) == number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n                  sqlite3_free(local_ac);\n                  pbVar16 = (byte *)0x0;\n                  local_ac = pbVar15;\n                  break;" case number_literal : (expression_statement "sqlite3_free(local_ac);" (call_expression "sqlite3_free(local_ac)" identifier (argument_list "(local_ac)" ( identifier ))) ;) (expression_statement "pbVar16 = (byte *)0x0;" (assignment_expression "pbVar16 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = pbVar15;" (assignment_expression "local_ac = pbVar15" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n                  sqlite3_free(local_9c);\n                  pbVar16 = (byte *)0x0;\n                  local_9c = pbVar15;\n                  break;" case number_literal : (expression_statement "sqlite3_free(local_9c);" (call_expression "sqlite3_free(local_9c)" identifier (argument_list "(local_9c)" ( identifier ))) ;) (expression_statement "pbVar16 = (byte *)0x0;" (assignment_expression "pbVar16 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_9c = pbVar15;" (assignment_expression "local_9c = pbVar15" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n                  local_c0[local_b0] = (int)pbVar15;\n                  local_b0 = local_b0 + 1;\n                  pbVar16 = (byte *)0x0;" case number_literal : (expression_statement "local_c0[local_b0] = (int)pbVar15;" (assignment_expression "local_c0[local_b0] = (int)pbVar15" (subscript_expression "local_c0[local_b0]" identifier [ identifier ]) = (cast_expression "(int)pbVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_b0 = local_b0 + 1;" (assignment_expression "local_b0 = local_b0 + 1" identifier = (binary_expression "local_b0 + 1" identifier + number_literal)) ;) (expression_statement "pbVar16 = (byte *)0x0;" (assignment_expression "pbVar16 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) })) (goto_statement "goto LAB_000d06b8;" goto statement_identifier ;) })) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (if_statement "if (iVar23 == 8) goto LAB_000d0688;" if (parenthesized_expression "(iVar23 == 8)" ( (binary_expression "iVar23 == 8" identifier == number_literal) )) (goto_statement "goto LAB_000d0688;" goto statement_identifier ;)) (expression_statement "iVar10 = aFts4Opt[iVar23].nOpt;" (assignment_expression "iVar10 = aFts4Opt[iVar23].nOpt" identifier = (field_expression "aFts4Opt[iVar23].nOpt" (subscript_expression "aFts4Opt[iVar23]" identifier [ identifier ]) . field_identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "rc = 7;" (assignment_expression "rc = 7" identifier = number_literal) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (goto_statement "goto LAB_000cfd03;" goto statement_identifier ;) })) (labeled_statement "LAB_000cf9db:\n        sVar9 = strlen(pcVar21);" statement_identifier : (expression_statement "sVar9 = strlen(pcVar21);" (assignment_expression "sVar9 = strlen(pcVar21)" identifier = (call_expression "strlen(pcVar21)" identifier (argument_list "(pcVar21)" ( identifier )))) ;)) (expression_statement "local_d0 = (char *)((int)local_d0 + 1U + sVar9);" (assignment_expression "local_d0 = (char *)((int)local_d0 + 1U + sVar9)" identifier = (cast_expression "(char *)((int)local_d0 + 1U + sVar9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_d0 + 1U + sVar9)" ( (binary_expression "(int)local_d0 + 1U + sVar9" (binary_expression "(int)local_d0 + 1U" (cast_expression "(int)local_d0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) + identifier) )))) ;) (expression_statement "local_cc[iVar17] = pcVar21;" (assignment_expression "local_cc[iVar17] = pcVar21" (subscript_expression "local_cc[iVar17]" identifier [ identifier ]) = identifier) ;) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000cfa0c;" goto statement_identifier ;) })) (expression_statement "bVar5 = 0;" (assignment_expression "bVar5 = 0" identifier = number_literal) ;) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "local_a8 = (byte *)0x0;" (assignment_expression "local_a8 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "local_d0 = (char *)0x0;" (assignment_expression "local_d0 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000d0578;" goto statement_identifier ;) })) })) (expression_statement "rc = 7;" (assignment_expression "rc = 7" identifier = number_literal) ;) (expression_statement "local_c0 = (int *)0x0;" (assignment_expression "local_c0 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = (byte *)0x0;" (assignment_expression "local_a8 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_dc = (Fts3Table *)0x0;" (assignment_expression "local_dc = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) (labeled_statement "LAB_000d0688:\n  sqlite3Fts3ErrMsg(pzErr,"unrecognized parameter: %s",pcVar21);" statement_identifier : (expression_statement "sqlite3Fts3ErrMsg(pzErr,"unrecognized parameter: %s",pcVar21);" (call_expression "sqlite3Fts3ErrMsg(pzErr,"unrecognized parameter: %s",pcVar21)" identifier (argument_list "(pzErr,"unrecognized parameter: %s",pcVar21)" ( identifier , (string_literal ""unrecognized parameter: %s"" " string_content ") , identifier ))) ;)) (expression_statement "rc = 1;" (assignment_expression "rc = 1" identifier = number_literal) ;) (labeled_statement "LAB_000d06b8:\n  sqlite3_free(pbVar16);" statement_identifier : (expression_statement "sqlite3_free(pbVar16);" (call_expression "sqlite3_free(pbVar16)" identifier (argument_list "(pbVar16)" ( identifier ))) ;)) (labeled_statement "LAB_000cfa0c:\n  bVar25 = rc == 0;" statement_identifier : (expression_statement "bVar25 = rc == 0;" (assignment_expression "bVar25 = rc == 0" identifier = (binary_expression "rc == 0" identifier == number_literal)) ;)) (if_statement "if (argc <= iVar19 || !bVar25) goto LAB_000cfd03;" if (parenthesized_expression "(argc <= iVar19 || !bVar25)" ( (binary_expression "argc <= iVar19 || !bVar25" (binary_expression "argc <= iVar19" identifier <= identifier) || (unary_expression "!bVar25" ! identifier)) )) (goto_statement "goto LAB_000cfd03;" goto statement_identifier ;)) (goto_statement "goto LAB_000cfa14;" goto statement_identifier ;) (labeled_statement "LAB_000d08d0:\n  iVar19 = iVar19 + 1;" statement_identifier : (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;)) (if_statement "if (iVar19 == iVar17) goto LAB_000cfd38;" if (parenthesized_expression "(iVar19 == iVar17)" ( (binary_expression "iVar19 == iVar17" identifier == identifier) )) (goto_statement "goto LAB_000cfd38;" goto statement_identifier ;)) (goto_statement "goto LAB_000d08db;" goto statement_identifier ;) (labeled_statement "LAB_000cfd03:\n  if ((local_ac == (byte *)0x0) || (!bVar25)) {\nLAB_000d0578:\n    if (rc != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }" statement_identifier : (if_statement "if ((local_ac == (byte *)0x0) || (!bVar25)) {\nLAB_000d0578:\n    if (rc != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }" if (parenthesized_expression "((local_ac == (byte *)0x0) || (!bVar25))" ( (binary_expression "(local_ac == (byte *)0x0) || (!bVar25)" (parenthesized_expression "(local_ac == (byte *)0x0)" ( (binary_expression "local_ac == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(!bVar25)" ( (unary_expression "!bVar25" ! identifier) ))) )) (compound_statement "{\nLAB_000d0578:\n    if (rc != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }" { (labeled_statement "LAB_000d0578:\n    if (rc != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }" statement_identifier : (if_statement "if (rc != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(rc != 0)" ( (binary_expression "rc != 0" identifier != number_literal) )) (compound_statement "{\n      local_bc = (undefined4 *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_dc = (Fts3Table *)0x0;" (assignment_expression "local_dc = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) }))) (goto_statement "goto LAB_000d0580;" goto statement_identifier ;) }))) (expression_statement "sqlite3_free(local_a4);" (call_expression "sqlite3_free(local_a4)" identifier (argument_list "(local_a4)" ( identifier ))) ;) (expression_statement "sqlite3_free(local_a0);" (call_expression "sqlite3_free(local_a0)" identifier (argument_list "(local_a0)" ( identifier ))) ;) (if_statement "if (iVar17 == 0) {\n    sqlite3_free(local_cc);\n    n = 0;\n    pcVar21 = sqlite3_mprintf("SELECT * FROM %Q.%Q",argv[1],local_ac);\n    if (pcVar21 == (char *)0x0) {\n      sqlite3_free((void *)0x0);\n      rc = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    iVar17 = sqlite3_prepare(db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0);\n    if (iVar17 != 0) {\n      pcVar20 = sqlite3_errmsg(db);\n      sqlite3Fts3ErrMsg(pzErr,"%s",pcVar20);\n      sqlite3_free(pcVar21);\n      rc = iVar17;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    sqlite3_free(pcVar21);\n    iVar17 = sqlite3_column_count((sqlite3_stmt *)n);\n    if (iVar17 < 1) {\n      local_cc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)(iVar17 * 4));\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      sqlite3_finalize((sqlite3_stmt *)n);\n      rc = 0;\n      local_d0 = (char *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (char *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar19 = 0;\n      local_d0 = (char *)0x0;\n      iVar10 = 0;\n      do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar10);\n        sVar9 = strlen(pcVar21);\n        bVar25 = CARRY4((uint)local_d0,sVar9 + 1);\n        local_d0 = (char *)((int)local_d0 + sVar9 + 1);\n        iVar19 = iVar19 + (uint)bVar25;\n        iVar10 = iVar10 + 1;\n      } while (iVar17 != iVar10);\n      local_cc = (undefined4 *)\n                 sqlite3_malloc64(CONCAT44(iVar19 + (uint)CARRY4(iVar17 * 4,(uint)local_d0),\n                                           iVar17 * 4 + (int)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        sqlite3_finalize((sqlite3_stmt *)n);\n        rc = 7;\n        goto LAB_000d0e57;\n      }\n      iVar19 = 0;\n      puVar24 = local_cc + iVar17;\n      do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar19);\n        sVar9 = strlen(pcVar21);\n        memcpy(puVar24,pcVar21,sVar9 + 1);\n        local_cc[iVar19] = puVar24;\n        puVar24 = (undefined4 *)((int)puVar24 + sVar9 + 1);\n        iVar19 = iVar19 + 1;\n      } while (iVar17 != iVar19);\n      sqlite3_finalize((sqlite3_stmt *)n);\n      rc = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar19 = 0;\nLAB_000d08db:\n        iVar10 = sqlite3_stricmp((char *)local_9c,(char *)local_cc[iVar19]);\n        if (iVar10 != 0) goto LAB_000d08d0;\n        puVar24 = local_cc + iVar19;\n        if (iVar19 < iVar17) {\n          do {\n            puVar12 = puVar24 + 1;\n            *puVar24 = puVar24[1];\n            puVar24 = puVar12;\n          } while (local_cc + iVar17 != puVar12);\n        }\n        iVar17 = iVar17 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      rc = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar17 == 0) {\n      iVar17 = 1;\n      local_d0 = (char *)0x8;\n      *local_cc = "content";\n    }\n  }\n  else {\nLAB_000cfd38:\n    if (rc != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    rc = 0;\n  }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n    sqlite3_free(local_cc);\n    n = 0;\n    pcVar21 = sqlite3_mprintf("SELECT * FROM %Q.%Q",argv[1],local_ac);\n    if (pcVar21 == (char *)0x0) {\n      sqlite3_free((void *)0x0);\n      rc = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    iVar17 = sqlite3_prepare(db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0);\n    if (iVar17 != 0) {\n      pcVar20 = sqlite3_errmsg(db);\n      sqlite3Fts3ErrMsg(pzErr,"%s",pcVar20);\n      sqlite3_free(pcVar21);\n      rc = iVar17;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    sqlite3_free(pcVar21);\n    iVar17 = sqlite3_column_count((sqlite3_stmt *)n);\n    if (iVar17 < 1) {\n      local_cc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)(iVar17 * 4));\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      sqlite3_finalize((sqlite3_stmt *)n);\n      rc = 0;\n      local_d0 = (char *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (char *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar19 = 0;\n      local_d0 = (char *)0x0;\n      iVar10 = 0;\n      do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar10);\n        sVar9 = strlen(pcVar21);\n        bVar25 = CARRY4((uint)local_d0,sVar9 + 1);\n        local_d0 = (char *)((int)local_d0 + sVar9 + 1);\n        iVar19 = iVar19 + (uint)bVar25;\n        iVar10 = iVar10 + 1;\n      } while (iVar17 != iVar10);\n      local_cc = (undefined4 *)\n                 sqlite3_malloc64(CONCAT44(iVar19 + (uint)CARRY4(iVar17 * 4,(uint)local_d0),\n                                           iVar17 * 4 + (int)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        sqlite3_finalize((sqlite3_stmt *)n);\n        rc = 7;\n        goto LAB_000d0e57;\n      }\n      iVar19 = 0;\n      puVar24 = local_cc + iVar17;\n      do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar19);\n        sVar9 = strlen(pcVar21);\n        memcpy(puVar24,pcVar21,sVar9 + 1);\n        local_cc[iVar19] = puVar24;\n        puVar24 = (undefined4 *)((int)puVar24 + sVar9 + 1);\n        iVar19 = iVar19 + 1;\n      } while (iVar17 != iVar19);\n      sqlite3_finalize((sqlite3_stmt *)n);\n      rc = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar19 = 0;\nLAB_000d08db:\n        iVar10 = sqlite3_stricmp((char *)local_9c,(char *)local_cc[iVar19]);\n        if (iVar10 != 0) goto LAB_000d08d0;\n        puVar24 = local_cc + iVar19;\n        if (iVar19 < iVar17) {\n          do {\n            puVar12 = puVar24 + 1;\n            *puVar24 = puVar24[1];\n            puVar24 = puVar12;\n          } while (local_cc + iVar17 != puVar12);\n        }\n        iVar17 = iVar17 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      rc = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar17 == 0) {\n      iVar17 = 1;\n      local_d0 = (char *)0x8;\n      *local_cc = "content";\n    }\n  }" { (expression_statement "sqlite3_free(local_cc);" (call_expression "sqlite3_free(local_cc)" identifier (argument_list "(local_cc)" ( identifier ))) ;) (expression_statement "n = 0;" (assignment_expression "n = 0" identifier = number_literal) ;) (expression_statement "pcVar21 = sqlite3_mprintf("SELECT * FROM %Q.%Q",argv[1],local_ac);" (assignment_expression "pcVar21 = sqlite3_mprintf("SELECT * FROM %Q.%Q",argv[1],local_ac)" identifier = (call_expression "sqlite3_mprintf("SELECT * FROM %Q.%Q",argv[1],local_ac)" identifier (argument_list "("SELECT * FROM %Q.%Q",argv[1],local_ac)" ( (string_literal ""SELECT * FROM %Q.%Q"" " string_content ") , (subscript_expression "argv[1]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (pcVar21 == (char *)0x0) {\n      sqlite3_free((void *)0x0);\n      rc = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(pcVar21 == (char *)0x0)" ( (binary_expression "pcVar21 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sqlite3_free((void *)0x0);\n      rc = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "sqlite3_free((void *)0x0);" (call_expression "sqlite3_free((void *)0x0)" identifier (argument_list "((void *)0x0)" ( (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (expression_statement "rc = 7;" (assignment_expression "rc = 7" identifier = number_literal) ;) (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_cc = (undefined4 *)0x0;" (assignment_expression "local_cc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_dc = (Fts3Table *)0x0;" (assignment_expression "local_dc = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) (expression_statement "iVar17 = sqlite3_prepare(db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0);" (assignment_expression "iVar17 = sqlite3_prepare(db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0)" identifier = (call_expression "sqlite3_prepare(db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0)" identifier (argument_list "(db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0)" ( identifier , identifier , number_literal , (cast_expression "(sqlite3_stmt **)&n" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&n" & identifier)) , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (if_statement "if (iVar17 != 0) {\n      pcVar20 = sqlite3_errmsg(db);\n      sqlite3Fts3ErrMsg(pzErr,"%s",pcVar20);\n      sqlite3_free(pcVar21);\n      rc = iVar17;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar20 = sqlite3_errmsg(db);\n      sqlite3Fts3ErrMsg(pzErr,"%s",pcVar20);\n      sqlite3_free(pcVar21);\n      rc = iVar17;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "pcVar20 = sqlite3_errmsg(db);" (assignment_expression "pcVar20 = sqlite3_errmsg(db)" identifier = (call_expression "sqlite3_errmsg(db)" identifier (argument_list "(db)" ( identifier )))) ;) (expression_statement "sqlite3Fts3ErrMsg(pzErr,"%s",pcVar20);" (call_expression "sqlite3Fts3ErrMsg(pzErr,"%s",pcVar20)" identifier (argument_list "(pzErr,"%s",pcVar20)" ( identifier , (string_literal ""%s"" " string_content ") , identifier ))) ;) (expression_statement "sqlite3_free(pcVar21);" (call_expression "sqlite3_free(pcVar21)" identifier (argument_list "(pcVar21)" ( identifier ))) ;) (expression_statement "rc = iVar17;" (assignment_expression "rc = iVar17" identifier = identifier) ;) (labeled_statement "LAB_000d0e57:\n      local_bc = (undefined4 *)0x0;" statement_identifier : (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_cc = (undefined4 *)0x0;" (assignment_expression "local_cc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_dc = (Fts3Table *)0x0;" (assignment_expression "local_dc = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) (expression_statement "sqlite3_free(pcVar21);" (call_expression "sqlite3_free(pcVar21)" identifier (argument_list "(pcVar21)" ( identifier ))) ;) (expression_statement "iVar17 = sqlite3_column_count((sqlite3_stmt *)n);" (assignment_expression "iVar17 = sqlite3_column_count((sqlite3_stmt *)n)" identifier = (call_expression "sqlite3_column_count((sqlite3_stmt *)n)" identifier (argument_list "((sqlite3_stmt *)n)" ( (cast_expression "(sqlite3_stmt *)n" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar17 < 1) {\n      local_cc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)(iVar17 * 4));\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      sqlite3_finalize((sqlite3_stmt *)n);\n      rc = 0;\n      local_d0 = (char *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (char *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar19 = 0;\n      local_d0 = (char *)0x0;\n      iVar10 = 0;\n      do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar10);\n        sVar9 = strlen(pcVar21);\n        bVar25 = CARRY4((uint)local_d0,sVar9 + 1);\n        local_d0 = (char *)((int)local_d0 + sVar9 + 1);\n        iVar19 = iVar19 + (uint)bVar25;\n        iVar10 = iVar10 + 1;\n      } while (iVar17 != iVar10);\n      local_cc = (undefined4 *)\n                 sqlite3_malloc64(CONCAT44(iVar19 + (uint)CARRY4(iVar17 * 4,(uint)local_d0),\n                                           iVar17 * 4 + (int)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        sqlite3_finalize((sqlite3_stmt *)n);\n        rc = 7;\n        goto LAB_000d0e57;\n      }\n      iVar19 = 0;\n      puVar24 = local_cc + iVar17;\n      do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar19);\n        sVar9 = strlen(pcVar21);\n        memcpy(puVar24,pcVar21,sVar9 + 1);\n        local_cc[iVar19] = puVar24;\n        puVar24 = (undefined4 *)((int)puVar24 + sVar9 + 1);\n        iVar19 = iVar19 + 1;\n      } while (iVar17 != iVar19);\n      sqlite3_finalize((sqlite3_stmt *)n);\n      rc = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar19 = 0;\nLAB_000d08db:\n        iVar10 = sqlite3_stricmp((char *)local_9c,(char *)local_cc[iVar19]);\n        if (iVar10 != 0) goto LAB_000d08d0;\n        puVar24 = local_cc + iVar19;\n        if (iVar19 < iVar17) {\n          do {\n            puVar12 = puVar24 + 1;\n            *puVar24 = puVar24[1];\n            puVar24 = puVar12;\n          } while (local_cc + iVar17 != puVar12);\n        }\n        iVar17 = iVar17 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      rc = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }" if (parenthesized_expression "(iVar17 < 1)" ( (binary_expression "iVar17 < 1" identifier < number_literal) )) (compound_statement "{\n      local_cc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)(iVar17 * 4));\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      sqlite3_finalize((sqlite3_stmt *)n);\n      rc = 0;\n      local_d0 = (char *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (char *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }" { (expression_statement "local_cc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)(iVar17 * 4));" (assignment_expression "local_cc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)(iVar17 * 4))" identifier = (cast_expression "(undefined4 *)sqlite3_malloc64((ulonglong)(uint)(iVar17 * 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3_malloc64((ulonglong)(uint)(iVar17 * 4))" identifier (argument_list "((ulonglong)(uint)(iVar17 * 4))" ( (call_expression "(ulonglong)(uint)(iVar17 * 4)" (call_expression "(ulonglong)(uint)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(iVar17 * 4)" ( (binary_expression "iVar17 * 4" identifier * number_literal) ))) ))))) ;) (if_statement "if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;" if (parenthesized_expression "(local_cc == (undefined4 *)0x0)" ( (binary_expression "local_cc == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d1187;" goto statement_identifier ;)) (expression_statement "sqlite3_finalize((sqlite3_stmt *)n);" (call_expression "sqlite3_finalize((sqlite3_stmt *)n)" identifier (argument_list "((sqlite3_stmt *)n)" ( (cast_expression "(sqlite3_stmt *)n" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "rc = 0;" (assignment_expression "rc = 0" identifier = number_literal) ;) (expression_statement "local_d0 = (char *)0x0;" (assignment_expression "local_d0 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_9c == (byte *)0x0) goto LAB_000d1169;" if (parenthesized_expression "(local_9c == (byte *)0x0)" ( (binary_expression "local_9c == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d1169;" goto statement_identifier ;)) (expression_statement "local_d0 = (char *)0x0;" (assignment_expression "local_d0 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      iVar19 = 0;\n      local_d0 = (char *)0x0;\n      iVar10 = 0;\n      do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar10);\n        sVar9 = strlen(pcVar21);\n        bVar25 = CARRY4((uint)local_d0,sVar9 + 1);\n        local_d0 = (char *)((int)local_d0 + sVar9 + 1);\n        iVar19 = iVar19 + (uint)bVar25;\n        iVar10 = iVar10 + 1;\n      } while (iVar17 != iVar10);\n      local_cc = (undefined4 *)\n                 sqlite3_malloc64(CONCAT44(iVar19 + (uint)CARRY4(iVar17 * 4,(uint)local_d0),\n                                           iVar17 * 4 + (int)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        sqlite3_finalize((sqlite3_stmt *)n);\n        rc = 7;\n        goto LAB_000d0e57;\n      }\n      iVar19 = 0;\n      puVar24 = local_cc + iVar17;\n      do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar19);\n        sVar9 = strlen(pcVar21);\n        memcpy(puVar24,pcVar21,sVar9 + 1);\n        local_cc[iVar19] = puVar24;\n        puVar24 = (undefined4 *)((int)puVar24 + sVar9 + 1);\n        iVar19 = iVar19 + 1;\n      } while (iVar17 != iVar19);\n      sqlite3_finalize((sqlite3_stmt *)n);\n      rc = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar19 = 0;\nLAB_000d08db:\n        iVar10 = sqlite3_stricmp((char *)local_9c,(char *)local_cc[iVar19]);\n        if (iVar10 != 0) goto LAB_000d08d0;\n        puVar24 = local_cc + iVar19;\n        if (iVar19 < iVar17) {\n          do {\n            puVar12 = puVar24 + 1;\n            *puVar24 = puVar24[1];\n            puVar24 = puVar12;\n          } while (local_cc + iVar17 != puVar12);\n        }\n        iVar17 = iVar17 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      rc = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }" else (compound_statement "{\n      iVar19 = 0;\n      local_d0 = (char *)0x0;\n      iVar10 = 0;\n      do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar10);\n        sVar9 = strlen(pcVar21);\n        bVar25 = CARRY4((uint)local_d0,sVar9 + 1);\n        local_d0 = (char *)((int)local_d0 + sVar9 + 1);\n        iVar19 = iVar19 + (uint)bVar25;\n        iVar10 = iVar10 + 1;\n      } while (iVar17 != iVar10);\n      local_cc = (undefined4 *)\n                 sqlite3_malloc64(CONCAT44(iVar19 + (uint)CARRY4(iVar17 * 4,(uint)local_d0),\n                                           iVar17 * 4 + (int)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        sqlite3_finalize((sqlite3_stmt *)n);\n        rc = 7;\n        goto LAB_000d0e57;\n      }\n      iVar19 = 0;\n      puVar24 = local_cc + iVar17;\n      do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar19);\n        sVar9 = strlen(pcVar21);\n        memcpy(puVar24,pcVar21,sVar9 + 1);\n        local_cc[iVar19] = puVar24;\n        puVar24 = (undefined4 *)((int)puVar24 + sVar9 + 1);\n        iVar19 = iVar19 + 1;\n      } while (iVar17 != iVar19);\n      sqlite3_finalize((sqlite3_stmt *)n);\n      rc = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar19 = 0;\nLAB_000d08db:\n        iVar10 = sqlite3_stricmp((char *)local_9c,(char *)local_cc[iVar19]);\n        if (iVar10 != 0) goto LAB_000d08d0;\n        puVar24 = local_cc + iVar19;\n        if (iVar19 < iVar17) {\n          do {\n            puVar12 = puVar24 + 1;\n            *puVar24 = puVar24[1];\n            puVar24 = puVar12;\n          } while (local_cc + iVar17 != puVar12);\n        }\n        iVar17 = iVar17 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      rc = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }" { (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "local_d0 = (char *)0x0;" (assignment_expression "local_d0 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar10);\n        sVar9 = strlen(pcVar21);\n        bVar25 = CARRY4((uint)local_d0,sVar9 + 1);\n        local_d0 = (char *)((int)local_d0 + sVar9 + 1);\n        iVar19 = iVar19 + (uint)bVar25;\n        iVar10 = iVar10 + 1;\n      } while (iVar17 != iVar10);" do (compound_statement "{\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar10);\n        sVar9 = strlen(pcVar21);\n        bVar25 = CARRY4((uint)local_d0,sVar9 + 1);\n        local_d0 = (char *)((int)local_d0 + sVar9 + 1);\n        iVar19 = iVar19 + (uint)bVar25;\n        iVar10 = iVar10 + 1;\n      }" { (expression_statement "pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar10);" (assignment_expression "pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar10)" identifier = (call_expression "sqlite3_column_name((sqlite3_stmt *)n,iVar10)" identifier (argument_list "((sqlite3_stmt *)n,iVar10)" ( (cast_expression "(sqlite3_stmt *)n" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "sVar9 = strlen(pcVar21);" (assignment_expression "sVar9 = strlen(pcVar21)" identifier = (call_expression "strlen(pcVar21)" identifier (argument_list "(pcVar21)" ( identifier )))) ;) (expression_statement "bVar25 = CARRY4((uint)local_d0,sVar9 + 1);" (assignment_expression "bVar25 = CARRY4((uint)local_d0,sVar9 + 1)" identifier = (call_expression "CARRY4((uint)local_d0,sVar9 + 1)" identifier (argument_list "((uint)local_d0,sVar9 + 1)" ( (cast_expression "(uint)local_d0" ( (type_descriptor "uint" type_identifier) ) identifier) , (binary_expression "sVar9 + 1" identifier + number_literal) )))) ;) (expression_statement "local_d0 = (char *)((int)local_d0 + sVar9 + 1);" (assignment_expression "local_d0 = (char *)((int)local_d0 + sVar9 + 1)" identifier = (cast_expression "(char *)((int)local_d0 + sVar9 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_d0 + sVar9 + 1)" ( (binary_expression "(int)local_d0 + sVar9 + 1" (binary_expression "(int)local_d0 + sVar9" (cast_expression "(int)local_d0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "iVar19 = iVar19 + (uint)bVar25;" (assignment_expression "iVar19 = iVar19 + (uint)bVar25" identifier = (binary_expression "iVar19 + (uint)bVar25" identifier + (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar17 != iVar10)" ( (binary_expression "iVar17 != iVar10" identifier != identifier) )) ;) (expression_statement "local_cc = (undefined4 *)\n                 sqlite3_malloc64(CONCAT44(iVar19 + (uint)CARRY4(iVar17 * 4,(uint)local_d0),\n                                           iVar17 * 4 + (int)local_d0));" (assignment_expression "local_cc = (undefined4 *)\n                 sqlite3_malloc64(CONCAT44(iVar19 + (uint)CARRY4(iVar17 * 4,(uint)local_d0),\n                                           iVar17 * 4 + (int)local_d0))" identifier = (cast_expression "(undefined4 *)\n                 sqlite3_malloc64(CONCAT44(iVar19 + (uint)CARRY4(iVar17 * 4,(uint)local_d0),\n                                           iVar17 * 4 + (int)local_d0))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3_malloc64(CONCAT44(iVar19 + (uint)CARRY4(iVar17 * 4,(uint)local_d0),\n                                           iVar17 * 4 + (int)local_d0))" identifier (argument_list "(CONCAT44(iVar19 + (uint)CARRY4(iVar17 * 4,(uint)local_d0),\n                                           iVar17 * 4 + (int)local_d0))" ( (call_expression "CONCAT44(iVar19 + (uint)CARRY4(iVar17 * 4,(uint)local_d0),\n                                           iVar17 * 4 + (int)local_d0)" identifier (argument_list "(iVar19 + (uint)CARRY4(iVar17 * 4,(uint)local_d0),\n                                           iVar17 * 4 + (int)local_d0)" ( (binary_expression "iVar19 + (uint)CARRY4(iVar17 * 4,(uint)local_d0)" identifier + (cast_expression "(uint)CARRY4(iVar17 * 4,(uint)local_d0)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(iVar17 * 4,(uint)local_d0)" identifier (argument_list "(iVar17 * 4,(uint)local_d0)" ( (binary_expression "iVar17 * 4" identifier * number_literal) , (cast_expression "(uint)local_d0" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) , (binary_expression "iVar17 * 4 + (int)local_d0" (binary_expression "iVar17 * 4" identifier * number_literal) + (cast_expression "(int)local_d0" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))))) ;) (if_statement "if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        sqlite3_finalize((sqlite3_stmt *)n);\n        rc = 7;\n        goto LAB_000d0e57;\n      }" if (parenthesized_expression "(local_cc == (undefined4 *)0x0)" ( (binary_expression "local_cc == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000d1187:\n        sqlite3_finalize((sqlite3_stmt *)n);\n        rc = 7;\n        goto LAB_000d0e57;\n      }" { (labeled_statement "LAB_000d1187:\n        sqlite3_finalize((sqlite3_stmt *)n);" statement_identifier : (expression_statement "sqlite3_finalize((sqlite3_stmt *)n);" (call_expression "sqlite3_finalize((sqlite3_stmt *)n)" identifier (argument_list "((sqlite3_stmt *)n)" ( (cast_expression "(sqlite3_stmt *)n" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "rc = 7;" (assignment_expression "rc = 7" identifier = number_literal) ;) (goto_statement "goto LAB_000d0e57;" goto statement_identifier ;) })) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "puVar24 = local_cc + iVar17;" (assignment_expression "puVar24 = local_cc + iVar17" identifier = (binary_expression "local_cc + iVar17" identifier + identifier)) ;) (do_statement "do {\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar19);\n        sVar9 = strlen(pcVar21);\n        memcpy(puVar24,pcVar21,sVar9 + 1);\n        local_cc[iVar19] = puVar24;\n        puVar24 = (undefined4 *)((int)puVar24 + sVar9 + 1);\n        iVar19 = iVar19 + 1;\n      } while (iVar17 != iVar19);" do (compound_statement "{\n        pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar19);\n        sVar9 = strlen(pcVar21);\n        memcpy(puVar24,pcVar21,sVar9 + 1);\n        local_cc[iVar19] = puVar24;\n        puVar24 = (undefined4 *)((int)puVar24 + sVar9 + 1);\n        iVar19 = iVar19 + 1;\n      }" { (expression_statement "pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar19);" (assignment_expression "pcVar21 = sqlite3_column_name((sqlite3_stmt *)n,iVar19)" identifier = (call_expression "sqlite3_column_name((sqlite3_stmt *)n,iVar19)" identifier (argument_list "((sqlite3_stmt *)n,iVar19)" ( (cast_expression "(sqlite3_stmt *)n" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "sVar9 = strlen(pcVar21);" (assignment_expression "sVar9 = strlen(pcVar21)" identifier = (call_expression "strlen(pcVar21)" identifier (argument_list "(pcVar21)" ( identifier )))) ;) (expression_statement "memcpy(puVar24,pcVar21,sVar9 + 1);" (call_expression "memcpy(puVar24,pcVar21,sVar9 + 1)" identifier (argument_list "(puVar24,pcVar21,sVar9 + 1)" ( identifier , identifier , (binary_expression "sVar9 + 1" identifier + number_literal) ))) ;) (expression_statement "local_cc[iVar19] = puVar24;" (assignment_expression "local_cc[iVar19] = puVar24" (subscript_expression "local_cc[iVar19]" identifier [ identifier ]) = identifier) ;) (expression_statement "puVar24 = (undefined4 *)((int)puVar24 + sVar9 + 1);" (assignment_expression "puVar24 = (undefined4 *)((int)puVar24 + sVar9 + 1)" identifier = (cast_expression "(undefined4 *)((int)puVar24 + sVar9 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar24 + sVar9 + 1)" ( (binary_expression "(int)puVar24 + sVar9 + 1" (binary_expression "(int)puVar24 + sVar9" (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar17 != iVar19)" ( (binary_expression "iVar17 != iVar19" identifier != identifier) )) ;) (expression_statement "sqlite3_finalize((sqlite3_stmt *)n);" (call_expression "sqlite3_finalize((sqlite3_stmt *)n)" identifier (argument_list "((sqlite3_stmt *)n)" ( (cast_expression "(sqlite3_stmt *)n" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "rc = 0;" (assignment_expression "rc = 0" identifier = number_literal) ;) (if_statement "if (local_9c != (byte *)0x0) {\n        iVar19 = 0;\nLAB_000d08db:\n        iVar10 = sqlite3_stricmp((char *)local_9c,(char *)local_cc[iVar19]);\n        if (iVar10 != 0) goto LAB_000d08d0;\n        puVar24 = local_cc + iVar19;\n        if (iVar19 < iVar17) {\n          do {\n            puVar12 = puVar24 + 1;\n            *puVar24 = puVar24[1];\n            puVar24 = puVar12;\n          } while (local_cc + iVar17 != puVar12);\n        }\n        iVar17 = iVar17 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }" if (parenthesized_expression "(local_9c != (byte *)0x0)" ( (binary_expression "local_9c != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar19 = 0;\nLAB_000d08db:\n        iVar10 = sqlite3_stricmp((char *)local_9c,(char *)local_cc[iVar19]);\n        if (iVar10 != 0) goto LAB_000d08d0;\n        puVar24 = local_cc + iVar19;\n        if (iVar19 < iVar17) {\n          do {\n            puVar12 = puVar24 + 1;\n            *puVar24 = puVar24[1];\n            puVar24 = puVar12;\n          } while (local_cc + iVar17 != puVar12);\n        }\n        iVar17 = iVar17 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }" { (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000d08db:\n        iVar10 = sqlite3_stricmp((char *)local_9c,(char *)local_cc[iVar19]);" statement_identifier : (expression_statement "iVar10 = sqlite3_stricmp((char *)local_9c,(char *)local_cc[iVar19]);" (assignment_expression "iVar10 = sqlite3_stricmp((char *)local_9c,(char *)local_cc[iVar19])" identifier = (call_expression "sqlite3_stricmp((char *)local_9c,(char *)local_cc[iVar19])" identifier (argument_list "((char *)local_9c,(char *)local_cc[iVar19])" ( (cast_expression "(char *)local_9c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)local_cc[iVar19]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_cc[iVar19]" identifier [ identifier ])) )))) ;)) (if_statement "if (iVar10 != 0) goto LAB_000d08d0;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000d08d0;" goto statement_identifier ;)) (expression_statement "puVar24 = local_cc + iVar19;" (assignment_expression "puVar24 = local_cc + iVar19" identifier = (binary_expression "local_cc + iVar19" identifier + identifier)) ;) (if_statement "if (iVar19 < iVar17) {\n          do {\n            puVar12 = puVar24 + 1;\n            *puVar24 = puVar24[1];\n            puVar24 = puVar12;\n          } while (local_cc + iVar17 != puVar12);\n        }" if (parenthesized_expression "(iVar19 < iVar17)" ( (binary_expression "iVar19 < iVar17" identifier < identifier) )) (compound_statement "{\n          do {\n            puVar12 = puVar24 + 1;\n            *puVar24 = puVar24[1];\n            puVar24 = puVar12;\n          } while (local_cc + iVar17 != puVar12);\n        }" { (do_statement "do {\n            puVar12 = puVar24 + 1;\n            *puVar24 = puVar24[1];\n            puVar24 = puVar12;\n          } while (local_cc + iVar17 != puVar12);" do (compound_statement "{\n            puVar12 = puVar24 + 1;\n            *puVar24 = puVar24[1];\n            puVar24 = puVar12;\n          }" { (expression_statement "puVar12 = puVar24 + 1;" (assignment_expression "puVar12 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) (expression_statement "*puVar24 = puVar24[1];" (assignment_expression "*puVar24 = puVar24[1]" (pointer_expression "*puVar24" * identifier) = (subscript_expression "puVar24[1]" identifier [ number_literal ])) ;) (expression_statement "puVar24 = puVar12;" (assignment_expression "puVar24 = puVar12" identifier = identifier) ;) }) while (parenthesized_expression "(local_cc + iVar17 != puVar12)" ( (binary_expression "local_cc + iVar17 != puVar12" (binary_expression "local_cc + iVar17" identifier + identifier) != identifier) )) ;) })) (expression_statement "iVar17 = iVar17 + -1;" (assignment_expression "iVar17 = iVar17 + -1" identifier = (binary_expression "iVar17 + -1" identifier + number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000d0578;" goto statement_identifier ;) })) (labeled_statement "LAB_000d1169:\n      rc = 0;" statement_identifier : (expression_statement "rc = 0;" (assignment_expression "rc = 0" identifier = number_literal) ;)) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_000d0580:\n    if (iVar17 == 0) {\n      iVar17 = 1;\n      local_d0 = (char *)0x8;\n      *local_cc = "content";\n    }" statement_identifier : (if_statement "if (iVar17 == 0) {\n      iVar17 = 1;\n      local_d0 = (char *)0x8;\n      *local_cc = "content";\n    }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar17 = 1;\n      local_d0 = (char *)0x8;\n      *local_cc = "content";\n    }" { (expression_statement "iVar17 = 1;" (assignment_expression "iVar17 = 1" identifier = number_literal) ;) (expression_statement "local_d0 = (char *)0x8;" (assignment_expression "local_d0 = (char *)0x8" identifier = (cast_expression "(char *)0x8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*local_cc = "content";" (assignment_expression "*local_cc = "content"" (pointer_expression "*local_cc" * identifier) = (string_literal ""content"" " string_content ")) ;) }))) }) (else_clause "else {\nLAB_000cfd38:\n    if (rc != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    rc = 0;\n  }" else (compound_statement "{\nLAB_000cfd38:\n    if (rc != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    rc = 0;\n  }" { (labeled_statement "LAB_000cfd38:\n    if (rc != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }" statement_identifier : (if_statement "if (rc != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(rc != 0)" ( (binary_expression "rc != 0" identifier != number_literal) )) (compound_statement "{\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000d0985:\n      local_dc = (Fts3Table *)0x0;" statement_identifier : (expression_statement "local_dc = (Fts3Table *)0x0;" (assignment_expression "local_dc = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) }))) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "rc = 0;" (assignment_expression "rc = 0" identifier = number_literal) ;) }))) (if_statement "if (pTokenizer == (sqlite3_tokenizer *)0x0) {\n    rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,"simple",&pTokenizer,pzErr);\n    local_bc = (undefined4 *)0x0;\n    if (rc != 0) {\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n  }" if (parenthesized_expression "(pTokenizer == (sqlite3_tokenizer *)0x0)" ( (binary_expression "pTokenizer == (sqlite3_tokenizer *)0x0" identifier == (cast_expression "(sqlite3_tokenizer *)0x0" ( (type_descriptor "sqlite3_tokenizer *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,"simple",&pTokenizer,pzErr);\n    local_bc = (undefined4 *)0x0;\n    if (rc != 0) {\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }\n  }" { (expression_statement "rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,"simple",&pTokenizer,pzErr);" (assignment_expression "rc = sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,"simple",&pTokenizer,pzErr)" identifier = (call_expression "sqlite3Fts3InitTokenizer((Fts3Hash *)pAux,"simple",&pTokenizer,pzErr)" identifier (argument_list "((Fts3Hash *)pAux,"simple",&pTokenizer,pzErr)" ( (cast_expression "(Fts3Hash *)pAux" ( (type_descriptor "Fts3Hash *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""simple"" " string_content ") , (pointer_expression "&pTokenizer" & identifier) , identifier )))) ;) (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (rc != 0) {\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(rc != 0)" ( (binary_expression "rc != 0" identifier != number_literal) )) (compound_statement "{\n      local_dc = (Fts3Table *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "local_dc = (Fts3Table *)0x0;" (assignment_expression "local_dc = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) })) (if_statement "if (local_a8 == (byte *)0x0) {\n    local_bc = (undefined4 *)sqlite3_malloc64(0x18);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar13 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;\n      uVar13 = uVar13 + 4;\n    } while (uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    rc = 0;\n    iVar19 = 6;\n    local_80 = 1;\n    local_b4 = (char *)0x1;\n  }\n  else {\n    bVar6 = *local_a8;\n    if (bVar6 == 0) {\n      local_bc = (undefined4 *)sqlite3_malloc64(0x18);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar13 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;\n        uVar13 = uVar13 + 4;\n      } while (uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar19 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (char *)0x2;\n      pbVar15 = local_a8;\n      do {\n        pbVar15 = pbVar15 + 1;\n        local_b4 = (char *)((int)local_b4 + (uint)(bVar6 == 0x2c));\n        bVar6 = *pbVar15;\n      } while (bVar6 != 0);\n      local_bc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)((int)local_b4 * 0x18));\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        rc = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (Fts3Table *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar15 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar15 - 0x30)) {\nLAB_000d094c:\n          rc = 1;\n          sqlite3Fts3ErrMsg(pzErr,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (char *)rc;\n          if (rc != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar19 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar19 = (char)*pbVar15 + -0x30;\n        pbVar16 = pbVar15;\n        do {\n          pbVar14 = pbVar16;\n          pbVar16 = pbVar14 + 1;\n          if (9 < (byte)(pbVar14[1] - 0x30)) {\n            if (pbVar16 == pbVar15) goto LAB_000d094c;\n            if (iVar19 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar19;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar19 = (char)pbVar14[1] + -0x30 + iVar19 * 10;\n        } while (iVar19 < 0x989681);\n        if (pbVar16 == pbVar15) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (char *)((int)local_b4 + -1);\nLAB_000cfe51:\n        pbVar15 = pbVar14 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (int)local_b4;\n      iVar19 = (int)local_b4 * 6;\n    }\n    rc = 0;\n    local_b4 = (char *)local_80;\n  }" if (parenthesized_expression "(local_a8 == (byte *)0x0)" ( (binary_expression "local_a8 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_bc = (undefined4 *)sqlite3_malloc64(0x18);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar13 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;\n      uVar13 = uVar13 + 4;\n    } while (uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    rc = 0;\n    iVar19 = 6;\n    local_80 = 1;\n    local_b4 = (char *)0x1;\n  }" { (expression_statement "local_bc = (undefined4 *)sqlite3_malloc64(0x18);" (assignment_expression "local_bc = (undefined4 *)sqlite3_malloc64(0x18)" identifier = (cast_expression "(undefined4 *)sqlite3_malloc64(0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3_malloc64(0x18)" identifier (argument_list "(0x18)" ( number_literal ))))) ;) (if_statement "if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;" if (parenthesized_expression "(local_bc == (undefined4 *)0x0)" ( (binary_expression "local_bc == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d06fb;" goto statement_identifier ;)) (expression_statement "*local_bc = 0;" (assignment_expression "*local_bc = 0" (pointer_expression "*local_bc" * identifier) = number_literal) ;) (expression_statement "local_bc[5] = 0;" (assignment_expression "local_bc[5] = 0" (subscript_expression "local_bc[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;\n      uVar13 = uVar13 + 4;\n    } while (uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));" do (compound_statement "{\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;\n      uVar13 = uVar13 + 4;\n    }" { (expression_statement "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;" (assignment_expression "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0" (pointer_expression "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13)" * (cast_expression "(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)(local_bc + 1) & 0xfffffffc) + uVar13)" ( (binary_expression "((uint)(local_bc + 1) & 0xfffffffc) + uVar13" (parenthesized_expression "((uint)(local_bc + 1) & 0xfffffffc)" ( (binary_expression "(uint)(local_bc + 1) & 0xfffffffc" (call_expression "(uint)(local_bc + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc + 1)" ( (binary_expression "local_bc + 1" identifier + number_literal) ))) & number_literal) )) + identifier) )))) = number_literal) ;) (expression_statement "uVar13 = uVar13 + 4;" (assignment_expression "uVar13 = uVar13 + 4" identifier = (binary_expression "uVar13 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))" ( (binary_expression "uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc)" identifier < (parenthesized_expression "((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc)" ( (binary_expression "(int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc" (binary_expression "(int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc))" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x18 - ((uint)(local_bc + 1) & 0xfffffffc))" ( (binary_expression "0x18 - ((uint)(local_bc + 1) & 0xfffffffc)" number_literal - (parenthesized_expression "((uint)(local_bc + 1) & 0xfffffffc)" ( (binary_expression "(uint)(local_bc + 1) & 0xfffffffc" (call_expression "(uint)(local_bc + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc + 1)" ( (binary_expression "local_bc + 1" identifier + number_literal) ))) & number_literal) ))) ))) & number_literal) ))) )) ;) (expression_statement "rc = 0;" (assignment_expression "rc = 0" identifier = number_literal) ;) (expression_statement "iVar19 = 6;" (assignment_expression "iVar19 = 6" identifier = number_literal) ;) (expression_statement "local_80 = 1;" (assignment_expression "local_80 = 1" identifier = number_literal) ;) (expression_statement "local_b4 = (char *)0x1;" (assignment_expression "local_b4 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    bVar6 = *local_a8;\n    if (bVar6 == 0) {\n      local_bc = (undefined4 *)sqlite3_malloc64(0x18);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar13 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;\n        uVar13 = uVar13 + 4;\n      } while (uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar19 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (char *)0x2;\n      pbVar15 = local_a8;\n      do {\n        pbVar15 = pbVar15 + 1;\n        local_b4 = (char *)((int)local_b4 + (uint)(bVar6 == 0x2c));\n        bVar6 = *pbVar15;\n      } while (bVar6 != 0);\n      local_bc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)((int)local_b4 * 0x18));\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        rc = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (Fts3Table *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar15 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar15 - 0x30)) {\nLAB_000d094c:\n          rc = 1;\n          sqlite3Fts3ErrMsg(pzErr,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (char *)rc;\n          if (rc != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar19 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar19 = (char)*pbVar15 + -0x30;\n        pbVar16 = pbVar15;\n        do {\n          pbVar14 = pbVar16;\n          pbVar16 = pbVar14 + 1;\n          if (9 < (byte)(pbVar14[1] - 0x30)) {\n            if (pbVar16 == pbVar15) goto LAB_000d094c;\n            if (iVar19 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar19;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar19 = (char)pbVar14[1] + -0x30 + iVar19 * 10;\n        } while (iVar19 < 0x989681);\n        if (pbVar16 == pbVar15) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (char *)((int)local_b4 + -1);\nLAB_000cfe51:\n        pbVar15 = pbVar14 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (int)local_b4;\n      iVar19 = (int)local_b4 * 6;\n    }\n    rc = 0;\n    local_b4 = (char *)local_80;\n  }" else (compound_statement "{\n    bVar6 = *local_a8;\n    if (bVar6 == 0) {\n      local_bc = (undefined4 *)sqlite3_malloc64(0x18);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar13 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;\n        uVar13 = uVar13 + 4;\n      } while (uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar19 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (char *)0x2;\n      pbVar15 = local_a8;\n      do {\n        pbVar15 = pbVar15 + 1;\n        local_b4 = (char *)((int)local_b4 + (uint)(bVar6 == 0x2c));\n        bVar6 = *pbVar15;\n      } while (bVar6 != 0);\n      local_bc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)((int)local_b4 * 0x18));\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        rc = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (Fts3Table *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar15 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar15 - 0x30)) {\nLAB_000d094c:\n          rc = 1;\n          sqlite3Fts3ErrMsg(pzErr,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (char *)rc;\n          if (rc != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar19 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar19 = (char)*pbVar15 + -0x30;\n        pbVar16 = pbVar15;\n        do {\n          pbVar14 = pbVar16;\n          pbVar16 = pbVar14 + 1;\n          if (9 < (byte)(pbVar14[1] - 0x30)) {\n            if (pbVar16 == pbVar15) goto LAB_000d094c;\n            if (iVar19 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar19;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar19 = (char)pbVar14[1] + -0x30 + iVar19 * 10;\n        } while (iVar19 < 0x989681);\n        if (pbVar16 == pbVar15) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (char *)((int)local_b4 + -1);\nLAB_000cfe51:\n        pbVar15 = pbVar14 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (int)local_b4;\n      iVar19 = (int)local_b4 * 6;\n    }\n    rc = 0;\n    local_b4 = (char *)local_80;\n  }" { (expression_statement "bVar6 = *local_a8;" (assignment_expression "bVar6 = *local_a8" identifier = (pointer_expression "*local_a8" * identifier)) ;) (if_statement "if (bVar6 == 0) {\n      local_bc = (undefined4 *)sqlite3_malloc64(0x18);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar13 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;\n        uVar13 = uVar13 + 4;\n      } while (uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar19 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (char *)0x2;\n      pbVar15 = local_a8;\n      do {\n        pbVar15 = pbVar15 + 1;\n        local_b4 = (char *)((int)local_b4 + (uint)(bVar6 == 0x2c));\n        bVar6 = *pbVar15;\n      } while (bVar6 != 0);\n      local_bc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)((int)local_b4 * 0x18));\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        rc = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (Fts3Table *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar15 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar15 - 0x30)) {\nLAB_000d094c:\n          rc = 1;\n          sqlite3Fts3ErrMsg(pzErr,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (char *)rc;\n          if (rc != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar19 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar19 = (char)*pbVar15 + -0x30;\n        pbVar16 = pbVar15;\n        do {\n          pbVar14 = pbVar16;\n          pbVar16 = pbVar14 + 1;\n          if (9 < (byte)(pbVar14[1] - 0x30)) {\n            if (pbVar16 == pbVar15) goto LAB_000d094c;\n            if (iVar19 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar19;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar19 = (char)pbVar14[1] + -0x30 + iVar19 * 10;\n        } while (iVar19 < 0x989681);\n        if (pbVar16 == pbVar15) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (char *)((int)local_b4 + -1);\nLAB_000cfe51:\n        pbVar15 = pbVar14 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (int)local_b4;\n      iVar19 = (int)local_b4 * 6;\n    }" if (parenthesized_expression "(bVar6 == 0)" ( (binary_expression "bVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      local_bc = (undefined4 *)sqlite3_malloc64(0x18);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar13 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;\n        uVar13 = uVar13 + 4;\n      } while (uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar19 = 6;\n      local_80 = 1;\n    }" { (expression_statement "local_bc = (undefined4 *)sqlite3_malloc64(0x18);" (assignment_expression "local_bc = (undefined4 *)sqlite3_malloc64(0x18)" identifier = (cast_expression "(undefined4 *)sqlite3_malloc64(0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3_malloc64(0x18)" identifier (argument_list "(0x18)" ( number_literal ))))) ;) (if_statement "if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;" if (parenthesized_expression "(local_bc == (undefined4 *)0x0)" ( (binary_expression "local_bc == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d06fb;" goto statement_identifier ;)) (expression_statement "*local_bc = 0;" (assignment_expression "*local_bc = 0" (pointer_expression "*local_bc" * identifier) = number_literal) ;) (expression_statement "local_bc[5] = 0;" (assignment_expression "local_bc[5] = 0" (subscript_expression "local_bc[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;\n        uVar13 = uVar13 + 4;\n      } while (uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;" do (compound_statement "{\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;\n        uVar13 = uVar13 + 4;\n      }" { (expression_statement "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0;" (assignment_expression "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13) = 0" (pointer_expression "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13)" * (cast_expression "(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar13)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)(local_bc + 1) & 0xfffffffc) + uVar13)" ( (binary_expression "((uint)(local_bc + 1) & 0xfffffffc) + uVar13" (parenthesized_expression "((uint)(local_bc + 1) & 0xfffffffc)" ( (binary_expression "(uint)(local_bc + 1) & 0xfffffffc" (call_expression "(uint)(local_bc + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc + 1)" ( (binary_expression "local_bc + 1" identifier + number_literal) ))) & number_literal) )) + identifier) )))) = number_literal) ;) (expression_statement "uVar13 = uVar13 + 4;" (assignment_expression "uVar13 = uVar13 + 4" identifier = (binary_expression "uVar13 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))" ( (binary_expression "uVar13 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc)" identifier < (parenthesized_expression "((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc)" ( (binary_expression "(int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc" (binary_expression "(int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc))" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x18 - ((uint)(local_bc + 1) & 0xfffffffc))" ( (binary_expression "0x18 - ((uint)(local_bc + 1) & 0xfffffffc)" number_literal - (parenthesized_expression "((uint)(local_bc + 1) & 0xfffffffc)" ( (binary_expression "(uint)(local_bc + 1) & 0xfffffffc" (call_expression "(uint)(local_bc + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc + 1)" ( (binary_expression "local_bc + 1" identifier + number_literal) ))) & number_literal) ))) ))) & number_literal) ))) )) ;) (expression_statement "iVar19 = 6;" (assignment_expression "iVar19 = 6" identifier = number_literal) ;) (expression_statement "local_80 = 1;" (assignment_expression "local_80 = 1" identifier = number_literal) ;) }) (else_clause "else {\n      local_b4 = (char *)0x2;\n      pbVar15 = local_a8;\n      do {\n        pbVar15 = pbVar15 + 1;\n        local_b4 = (char *)((int)local_b4 + (uint)(bVar6 == 0x2c));\n        bVar6 = *pbVar15;\n      } while (bVar6 != 0);\n      local_bc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)((int)local_b4 * 0x18));\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        rc = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (Fts3Table *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar15 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar15 - 0x30)) {\nLAB_000d094c:\n          rc = 1;\n          sqlite3Fts3ErrMsg(pzErr,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (char *)rc;\n          if (rc != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar19 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar19 = (char)*pbVar15 + -0x30;\n        pbVar16 = pbVar15;\n        do {\n          pbVar14 = pbVar16;\n          pbVar16 = pbVar14 + 1;\n          if (9 < (byte)(pbVar14[1] - 0x30)) {\n            if (pbVar16 == pbVar15) goto LAB_000d094c;\n            if (iVar19 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar19;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar19 = (char)pbVar14[1] + -0x30 + iVar19 * 10;\n        } while (iVar19 < 0x989681);\n        if (pbVar16 == pbVar15) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (char *)((int)local_b4 + -1);\nLAB_000cfe51:\n        pbVar15 = pbVar14 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (int)local_b4;\n      iVar19 = (int)local_b4 * 6;\n    }" else (compound_statement "{\n      local_b4 = (char *)0x2;\n      pbVar15 = local_a8;\n      do {\n        pbVar15 = pbVar15 + 1;\n        local_b4 = (char *)((int)local_b4 + (uint)(bVar6 == 0x2c));\n        bVar6 = *pbVar15;\n      } while (bVar6 != 0);\n      local_bc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)((int)local_b4 * 0x18));\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        rc = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (Fts3Table *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar15 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar15 - 0x30)) {\nLAB_000d094c:\n          rc = 1;\n          sqlite3Fts3ErrMsg(pzErr,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (char *)rc;\n          if (rc != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar19 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar19 = (char)*pbVar15 + -0x30;\n        pbVar16 = pbVar15;\n        do {\n          pbVar14 = pbVar16;\n          pbVar16 = pbVar14 + 1;\n          if (9 < (byte)(pbVar14[1] - 0x30)) {\n            if (pbVar16 == pbVar15) goto LAB_000d094c;\n            if (iVar19 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar19;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar19 = (char)pbVar14[1] + -0x30 + iVar19 * 10;\n        } while (iVar19 < 0x989681);\n        if (pbVar16 == pbVar15) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (char *)((int)local_b4 + -1);\nLAB_000cfe51:\n        pbVar15 = pbVar14 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (int)local_b4;\n      iVar19 = (int)local_b4 * 6;\n    }" { (expression_statement "local_b4 = (char *)0x2;" (assignment_expression "local_b4 = (char *)0x2" identifier = (cast_expression "(char *)0x2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar15 = local_a8;" (assignment_expression "pbVar15 = local_a8" identifier = identifier) ;) (do_statement "do {\n        pbVar15 = pbVar15 + 1;\n        local_b4 = (char *)((int)local_b4 + (uint)(bVar6 == 0x2c));\n        bVar6 = *pbVar15;\n      } while (bVar6 != 0);" do (compound_statement "{\n        pbVar15 = pbVar15 + 1;\n        local_b4 = (char *)((int)local_b4 + (uint)(bVar6 == 0x2c));\n        bVar6 = *pbVar15;\n      }" { (expression_statement "pbVar15 = pbVar15 + 1;" (assignment_expression "pbVar15 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (expression_statement "local_b4 = (char *)((int)local_b4 + (uint)(bVar6 == 0x2c));" (assignment_expression "local_b4 = (char *)((int)local_b4 + (uint)(bVar6 == 0x2c))" identifier = (cast_expression "(char *)((int)local_b4 + (uint)(bVar6 == 0x2c))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b4 + (uint)(bVar6 == 0x2c))" ( (binary_expression "(int)local_b4 + (uint)(bVar6 == 0x2c)" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(bVar6 == 0x2c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar6 == 0x2c)" ( (binary_expression "bVar6 == 0x2c" identifier == number_literal) )))) )))) ;) (expression_statement "bVar6 = *pbVar15;" (assignment_expression "bVar6 = *pbVar15" identifier = (pointer_expression "*pbVar15" * identifier)) ;) }) while (parenthesized_expression "(bVar6 != 0)" ( (binary_expression "bVar6 != 0" identifier != number_literal) )) ;) (expression_statement "local_bc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)((int)local_b4 * 0x18));" (assignment_expression "local_bc = (undefined4 *)sqlite3_malloc64((ulonglong)(uint)((int)local_b4 * 0x18))" identifier = (cast_expression "(undefined4 *)sqlite3_malloc64((ulonglong)(uint)((int)local_b4 * 0x18))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3_malloc64((ulonglong)(uint)((int)local_b4 * 0x18))" identifier (argument_list "((ulonglong)(uint)((int)local_b4 * 0x18))" ( (call_expression "(ulonglong)(uint)((int)local_b4 * 0x18)" (call_expression "(ulonglong)(uint)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "((int)local_b4 * 0x18)" ( (binary_expression "(int)local_b4 * 0x18" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) ))))) ;) (if_statement "if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        rc = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (Fts3Table *)0x0;\n        goto LAB_000cfaef;\n      }" if (parenthesized_expression "(local_bc == (undefined4 *)0x0)" ( (binary_expression "local_bc == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000d06fb:\n        rc = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (Fts3Table *)0x0;\n        goto LAB_000cfaef;\n      }" { (labeled_statement "LAB_000d06fb:\n        rc = 7;" statement_identifier : (expression_statement "rc = 7;" (assignment_expression "rc = 7" identifier = number_literal) ;)) (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_dc = (Fts3Table *)0x0;" (assignment_expression "local_dc = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) (expression_statement "memset(local_bc,0,(int)local_b4 * 0x18);" (call_expression "memset(local_bc,0,(int)local_b4 * 0x18)" identifier (argument_list "(local_bc,0,(int)local_b4 * 0x18)" ( identifier , number_literal , (binary_expression "(int)local_b4 * 0x18" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) ;) (expression_statement "local_b8 = 1;" (assignment_expression "local_b8 = 1" identifier = number_literal) ;) (expression_statement "pbVar15 = local_a8;" (assignment_expression "pbVar15 = local_a8" identifier = identifier) ;) (do_statement "do {\n        if (9 < (byte)(*pbVar15 - 0x30)) {\nLAB_000d094c:\n          rc = 1;\n          sqlite3Fts3ErrMsg(pzErr,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (char *)rc;\n          if (rc != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar19 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar19 = (char)*pbVar15 + -0x30;\n        pbVar16 = pbVar15;\n        do {\n          pbVar14 = pbVar16;\n          pbVar16 = pbVar14 + 1;\n          if (9 < (byte)(pbVar14[1] - 0x30)) {\n            if (pbVar16 == pbVar15) goto LAB_000d094c;\n            if (iVar19 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar19;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar19 = (char)pbVar14[1] + -0x30 + iVar19 * 10;\n        } while (iVar19 < 0x989681);\n        if (pbVar16 == pbVar15) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (char *)((int)local_b4 + -1);\nLAB_000cfe51:\n        pbVar15 = pbVar14 + 2;\n      } while (local_b8 < (int)local_b4);" do (compound_statement "{\n        if (9 < (byte)(*pbVar15 - 0x30)) {\nLAB_000d094c:\n          rc = 1;\n          sqlite3Fts3ErrMsg(pzErr,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (char *)rc;\n          if (rc != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar19 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar19 = (char)*pbVar15 + -0x30;\n        pbVar16 = pbVar15;\n        do {\n          pbVar14 = pbVar16;\n          pbVar16 = pbVar14 + 1;\n          if (9 < (byte)(pbVar14[1] - 0x30)) {\n            if (pbVar16 == pbVar15) goto LAB_000d094c;\n            if (iVar19 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar19;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar19 = (char)pbVar14[1] + -0x30 + iVar19 * 10;\n        } while (iVar19 < 0x989681);\n        if (pbVar16 == pbVar15) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (char *)((int)local_b4 + -1);\nLAB_000cfe51:\n        pbVar15 = pbVar14 + 2;\n      }" { (if_statement "if (9 < (byte)(*pbVar15 - 0x30)) {\nLAB_000d094c:\n          rc = 1;\n          sqlite3Fts3ErrMsg(pzErr,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (char *)rc;\n          if (rc != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar19 = 0;\n          goto LAB_000cfe77;\n        }" if (parenthesized_expression "(9 < (byte)(*pbVar15 - 0x30))" ( (binary_expression "9 < (byte)(*pbVar15 - 0x30)" number_literal < (call_expression "(byte)(*pbVar15 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*pbVar15 - 0x30)" ( (binary_expression "*pbVar15 - 0x30" (pointer_expression "*pbVar15" * identifier) - number_literal) )))) )) (compound_statement "{\nLAB_000d094c:\n          rc = 1;\n          sqlite3Fts3ErrMsg(pzErr,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (char *)rc;\n          if (rc != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar19 = 0;\n          goto LAB_000cfe77;\n        }" { (labeled_statement "LAB_000d094c:\n          rc = 1;" statement_identifier : (expression_statement "rc = 1;" (assignment_expression "rc = 1" identifier = number_literal) ;)) (expression_statement "sqlite3Fts3ErrMsg(pzErr,"error parsing prefix parameter: %s",local_a8);" (call_expression "sqlite3Fts3ErrMsg(pzErr,"error parsing prefix parameter: %s",local_a8)" identifier (argument_list "(pzErr,"error parsing prefix parameter: %s",local_a8)" ( identifier , (string_literal ""error parsing prefix parameter: %s"" " string_content ") , identifier ))) ;) (expression_statement "local_b4 = (char *)rc;" (assignment_expression "local_b4 = (char *)rc" identifier = (cast_expression "(char *)rc" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (rc != 0) goto LAB_000d0985;" if (parenthesized_expression "(rc != 0)" ( (binary_expression "rc != 0" identifier != number_literal) )) (goto_statement "goto LAB_000d0985;" goto statement_identifier ;)) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000cfe77;" goto statement_identifier ;) })) (expression_statement "iVar19 = (char)*pbVar15 + -0x30;" (assignment_expression "iVar19 = (char)*pbVar15 + -0x30" identifier = (binary_expression "(char)*pbVar15 + -0x30" (cast_expression "(char)*pbVar15" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar15" * identifier)) + number_literal)) ;) (expression_statement "pbVar16 = pbVar15;" (assignment_expression "pbVar16 = pbVar15" identifier = identifier) ;) (do_statement "do {\n          pbVar14 = pbVar16;\n          pbVar16 = pbVar14 + 1;\n          if (9 < (byte)(pbVar14[1] - 0x30)) {\n            if (pbVar16 == pbVar15) goto LAB_000d094c;\n            if (iVar19 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar19;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar19 = (char)pbVar14[1] + -0x30 + iVar19 * 10;\n        } while (iVar19 < 0x989681);" do (compound_statement "{\n          pbVar14 = pbVar16;\n          pbVar16 = pbVar14 + 1;\n          if (9 < (byte)(pbVar14[1] - 0x30)) {\n            if (pbVar16 == pbVar15) goto LAB_000d094c;\n            if (iVar19 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar19;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar19 = (char)pbVar14[1] + -0x30 + iVar19 * 10;\n        }" { (expression_statement "pbVar14 = pbVar16;" (assignment_expression "pbVar14 = pbVar16" identifier = identifier) ;) (expression_statement "pbVar16 = pbVar14 + 1;" (assignment_expression "pbVar16 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) (if_statement "if (9 < (byte)(pbVar14[1] - 0x30)) {\n            if (pbVar16 == pbVar15) goto LAB_000d094c;\n            if (iVar19 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar19;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }" if (parenthesized_expression "(9 < (byte)(pbVar14[1] - 0x30))" ( (binary_expression "9 < (byte)(pbVar14[1] - 0x30)" number_literal < (call_expression "(byte)(pbVar14[1] - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pbVar14[1] - 0x30)" ( (binary_expression "pbVar14[1] - 0x30" (subscript_expression "pbVar14[1]" identifier [ number_literal ]) - number_literal) )))) )) (compound_statement "{\n            if (pbVar16 == pbVar15) goto LAB_000d094c;\n            if (iVar19 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar19;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }" { (if_statement "if (pbVar16 == pbVar15) goto LAB_000d094c;" if (parenthesized_expression "(pbVar16 == pbVar15)" ( (binary_expression "pbVar16 == pbVar15" identifier == identifier) )) (goto_statement "goto LAB_000d094c;" goto statement_identifier ;)) (if_statement "if (iVar19 == 0) goto LAB_000d0938;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000d0938;" goto statement_identifier ;)) (expression_statement "local_bc[local_b8 * 6] = iVar19;" (assignment_expression "local_bc[local_b8 * 6] = iVar19" (subscript_expression "local_bc[local_b8 * 6]" identifier [ (binary_expression "local_b8 * 6" identifier * number_literal) ]) = identifier) ;) (expression_statement "local_b8 = local_b8 + 1;" (assignment_expression "local_b8 = local_b8 + 1" identifier = (binary_expression "local_b8 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000cfe51;" goto statement_identifier ;) })) (expression_statement "iVar19 = (char)pbVar14[1] + -0x30 + iVar19 * 10;" (assignment_expression "iVar19 = (char)pbVar14[1] + -0x30 + iVar19 * 10" identifier = (binary_expression "(char)pbVar14[1] + -0x30 + iVar19 * 10" (binary_expression "(char)pbVar14[1] + -0x30" (cast_expression "(char)pbVar14[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar14[1]" identifier [ number_literal ])) + number_literal) + (binary_expression "iVar19 * 10" identifier * number_literal))) ;) }) while (parenthesized_expression "(iVar19 < 0x989681)" ( (binary_expression "iVar19 < 0x989681" identifier < number_literal) )) ;) (if_statement "if (pbVar16 == pbVar15) goto LAB_000d094c;" if (parenthesized_expression "(pbVar16 == pbVar15)" ( (binary_expression "pbVar16 == pbVar15" identifier == identifier) )) (goto_statement "goto LAB_000d094c;" goto statement_identifier ;)) (labeled_statement "LAB_000d0938:\n        local_b4 = (char *)((int)local_b4 + -1);" statement_identifier : (expression_statement "local_b4 = (char *)((int)local_b4 + -1);" (assignment_expression "local_b4 = (char *)((int)local_b4 + -1)" identifier = (cast_expression "(char *)((int)local_b4 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b4 + -1)" ( (binary_expression "(int)local_b4 + -1" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (labeled_statement "LAB_000cfe51:\n        pbVar15 = pbVar14 + 2;" statement_identifier : (expression_statement "pbVar15 = pbVar14 + 2;" (assignment_expression "pbVar15 = pbVar14 + 2" identifier = (binary_expression "pbVar14 + 2" identifier + number_literal)) ;)) }) while (parenthesized_expression "(local_b8 < (int)local_b4)" ( (binary_expression "local_b8 < (int)local_b4" identifier < (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "local_80 = (int)local_b4;" (assignment_expression "local_80 = (int)local_b4" identifier = (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar19 = (int)local_b4 * 6;" (assignment_expression "iVar19 = (int)local_b4 * 6" identifier = (binary_expression "(int)local_b4 * 6" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) }))) (expression_statement "rc = 0;" (assignment_expression "rc = 0" identifier = number_literal) ;) (expression_statement "local_b4 = (char *)local_80;" (assignment_expression "local_b4 = (char *)local_80" identifier = (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (labeled_statement "LAB_000cfe77:\n  sVar7 = sVar7 + 1;" statement_identifier : (expression_statement "sVar7 = sVar7 + 1;" (assignment_expression "sVar7 = sVar7 + 1" identifier = (binary_expression "sVar7 + 1" identifier + number_literal)) ;)) (expression_statement "sVar8 = sVar8 + 1;" (assignment_expression "sVar8 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;) (expression_statement "uVar13 = sVar8 + sVar7 + iVar17 * 5 + (int)local_d0 + iVar19 * 4 + 0x11c;" (assignment_expression "uVar13 = sVar8 + sVar7 + iVar17 * 5 + (int)local_d0 + iVar19 * 4 + 0x11c" identifier = (binary_expression "sVar8 + sVar7 + iVar17 * 5 + (int)local_d0 + iVar19 * 4 + 0x11c" (binary_expression "sVar8 + sVar7 + iVar17 * 5 + (int)local_d0 + iVar19 * 4" (binary_expression "sVar8 + sVar7 + iVar17 * 5 + (int)local_d0" (binary_expression "sVar8 + sVar7 + iVar17 * 5" (binary_expression "sVar8 + sVar7" identifier + identifier) + (binary_expression "iVar17 * 5" identifier * number_literal)) + (cast_expression "(int)local_d0" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "iVar19 * 4" identifier * number_literal)) + number_literal)) ;) (expression_statement "local_dc = (Fts3Table *)sqlite3_malloc64((ulonglong)uVar13);" (assignment_expression "local_dc = (Fts3Table *)sqlite3_malloc64((ulonglong)uVar13)" identifier = (cast_expression "(Fts3Table *)sqlite3_malloc64((ulonglong)uVar13)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3_malloc64((ulonglong)uVar13)" identifier (argument_list "((ulonglong)uVar13)" ( (cast_expression "(ulonglong)uVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) ))))) ;) (if_statement "if (local_dc == (Fts3Table *)0x0) {\n    rc = 7;\n    goto LAB_000cfaef;\n  }" if (parenthesized_expression "(local_dc == (Fts3Table *)0x0)" ( (binary_expression "local_dc == (Fts3Table *)0x0" identifier == (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    rc = 7;\n    goto LAB_000cfaef;\n  }" { (expression_statement "rc = 7;" (assignment_expression "rc = 7" identifier = number_literal) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) (expression_statement "bVar25 = cVar3 == '4';" (assignment_expression "bVar25 = cVar3 == '4'" identifier = (binary_expression "cVar3 == '4'" identifier == (char_literal "'4'" ' character '))) ;) (expression_statement "memset(local_dc,0,uVar13);" (call_expression "memset(local_dc,0,uVar13)" identifier (argument_list "(local_dc,0,uVar13)" ( identifier , number_literal , identifier ))) ;) (expression_statement "local_dc->nColumn = iVar17;" (assignment_expression "local_dc->nColumn = iVar17" (field_expression "local_dc->nColumn" identifier -> field_identifier) = identifier) ;) (expression_statement "local_dc->nAutoincrmerge = 0xff;" (assignment_expression "local_dc->nAutoincrmerge = 0xff" (field_expression "local_dc->nAutoincrmerge" identifier -> field_identifier) = number_literal) ;) (expression_statement "local_dc->pTokenizer = pTokenizer;" (assignment_expression "local_dc->pTokenizer = pTokenizer" (field_expression "local_dc->pTokenizer" identifier -> field_identifier) = identifier) ;) (expression_statement "local_dc->db = db;" (assignment_expression "local_dc->db = db" (field_expression "local_dc->db" identifier -> field_identifier) = identifier) ;) (expression_statement "local_dc->azColumn = (char **)(local_dc + 1);" (assignment_expression "local_dc->azColumn = (char **)(local_dc + 1)" (field_expression "local_dc->azColumn" identifier -> field_identifier) = (cast_expression "(char **)(local_dc + 1)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_dc + 1)" ( (binary_expression "local_dc + 1" identifier + number_literal) )))) ;) (expression_statement "local_dc->bHasStat = bVar25;" (assignment_expression "local_dc->bHasStat = bVar25" (field_expression "local_dc->bHasStat" identifier -> field_identifier) = identifier) ;) (expression_statement "local_dc->bFts4 = bVar25;" (assignment_expression "local_dc->bFts4 = bVar25" (field_expression "local_dc->bFts4" identifier -> field_identifier) = identifier) ;) (expression_statement "local_dc->bHasDocsize = (bVar5 ^ 1) & bVar25;" (assignment_expression "local_dc->bHasDocsize = (bVar5 ^ 1) & bVar25" (field_expression "local_dc->bHasDocsize" identifier -> field_identifier) = (binary_expression "(bVar5 ^ 1) & bVar25" (parenthesized_expression "(bVar5 ^ 1)" ( (binary_expression "bVar5 ^ 1" identifier ^ number_literal) )) & identifier)) ;) (expression_statement "local_dc->bDescIdx = bVar26;" (assignment_expression "local_dc->bDescIdx = bVar26" (field_expression "local_dc->bDescIdx" identifier -> field_identifier) = identifier) ;) (expression_statement "local_dc->nPendingData = 0;" (assignment_expression "local_dc->nPendingData = 0" (field_expression "local_dc->nPendingData" identifier -> field_identifier) = number_literal) ;) (expression_statement "local_dc->nMaxPendingData = 0x100000;" (assignment_expression "local_dc->nMaxPendingData = 0x100000" (field_expression "local_dc->nMaxPendingData" identifier -> field_identifier) = number_literal) ;) (expression_statement "local_dc->zContentTbl = (char *)local_ac;" (assignment_expression "local_dc->zContentTbl = (char *)local_ac" (field_expression "local_dc->zContentTbl" identifier -> field_identifier) = (cast_expression "(char *)local_ac" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_dc->zLanguageid = (char *)local_9c;" (assignment_expression "local_dc->zLanguageid = (char *)local_9c" (field_expression "local_dc->zLanguageid" identifier -> field_identifier) = (cast_expression "(char *)local_9c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pFVar11 = (Fts3Index *)(local_dc[1].aStmt + iVar17 + -0xe);" (assignment_expression "pFVar11 = (Fts3Index *)(local_dc[1].aStmt + iVar17 + -0xe)" identifier = (cast_expression "(Fts3Index *)(local_dc[1].aStmt + iVar17 + -0xe)" ( (type_descriptor "Fts3Index *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_dc[1].aStmt + iVar17 + -0xe)" ( (binary_expression "local_dc[1].aStmt + iVar17 + -0xe" (binary_expression "local_dc[1].aStmt + iVar17" (field_expression "local_dc[1].aStmt" (subscript_expression "local_dc[1]" identifier [ number_literal ]) . field_identifier) + identifier) + number_literal) )))) ;) (expression_statement "local_dc->aIndex = pFVar11;" (assignment_expression "local_dc->aIndex = pFVar11" (field_expression "local_dc->aIndex" identifier -> field_identifier) = identifier) ;) (expression_statement "memcpy(pFVar11,local_bc,local_80 * 0x18);" (call_expression "memcpy(pFVar11,local_bc,local_80 * 0x18)" identifier (argument_list "(pFVar11,local_bc,local_80 * 0x18)" ( identifier , identifier , (binary_expression "local_80 * 0x18" identifier * number_literal) ))) ;) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "local_dc->nIndex = (int)local_b4;" (assignment_expression "local_dc->nIndex = (int)local_b4" (field_expression "local_dc->nIndex" identifier -> field_identifier) = (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (local_b4 != (char *)0x0) {\n    do {\n      pFVar11 = local_dc->aIndex;\n      iVar10 = iVar19 + 1;\n      pFVar11[iVar19].hPending.keyClass = '\x01';\n      pFVar11[iVar19].hPending.copyKey = '\x01';\n      pFVar11[iVar19].hPending.first = (Fts3HashElem *)0x0;\n      pFVar11[iVar19].hPending.count = 0;\n      pFVar11[iVar19].hPending.htsize = 0;\n      pFVar11[iVar19].hPending.ht = (_fts3ht *)0x0;\n      iVar19 = iVar10;\n    } while (local_b4 != (char *)iVar10);\n  }" if (parenthesized_expression "(local_b4 != (char *)0x0)" ( (binary_expression "local_b4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    do {\n      pFVar11 = local_dc->aIndex;\n      iVar10 = iVar19 + 1;\n      pFVar11[iVar19].hPending.keyClass = '\x01';\n      pFVar11[iVar19].hPending.copyKey = '\x01';\n      pFVar11[iVar19].hPending.first = (Fts3HashElem *)0x0;\n      pFVar11[iVar19].hPending.count = 0;\n      pFVar11[iVar19].hPending.htsize = 0;\n      pFVar11[iVar19].hPending.ht = (_fts3ht *)0x0;\n      iVar19 = iVar10;\n    } while (local_b4 != (char *)iVar10);\n  }" { (do_statement "do {\n      pFVar11 = local_dc->aIndex;\n      iVar10 = iVar19 + 1;\n      pFVar11[iVar19].hPending.keyClass = '\x01';\n      pFVar11[iVar19].hPending.copyKey = '\x01';\n      pFVar11[iVar19].hPending.first = (Fts3HashElem *)0x0;\n      pFVar11[iVar19].hPending.count = 0;\n      pFVar11[iVar19].hPending.htsize = 0;\n      pFVar11[iVar19].hPending.ht = (_fts3ht *)0x0;\n      iVar19 = iVar10;\n    } while (local_b4 != (char *)iVar10);" do (compound_statement "{\n      pFVar11 = local_dc->aIndex;\n      iVar10 = iVar19 + 1;\n      pFVar11[iVar19].hPending.keyClass = '\x01';\n      pFVar11[iVar19].hPending.copyKey = '\x01';\n      pFVar11[iVar19].hPending.first = (Fts3HashElem *)0x0;\n      pFVar11[iVar19].hPending.count = 0;\n      pFVar11[iVar19].hPending.htsize = 0;\n      pFVar11[iVar19].hPending.ht = (_fts3ht *)0x0;\n      iVar19 = iVar10;\n    }" { (expression_statement "pFVar11 = local_dc->aIndex;" (assignment_expression "pFVar11 = local_dc->aIndex" identifier = (field_expression "local_dc->aIndex" identifier -> field_identifier)) ;) (expression_statement "iVar10 = iVar19 + 1;" (assignment_expression "iVar10 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "pFVar11[iVar19].hPending.keyClass = '\x01';" (assignment_expression "pFVar11[iVar19].hPending.keyClass = '\x01'" (field_expression "pFVar11[iVar19].hPending.keyClass" (field_expression "pFVar11[iVar19].hPending" (subscript_expression "pFVar11[iVar19]" identifier [ identifier ]) . field_identifier) . field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pFVar11[iVar19].hPending.copyKey = '\x01';" (assignment_expression "pFVar11[iVar19].hPending.copyKey = '\x01'" (field_expression "pFVar11[iVar19].hPending.copyKey" (field_expression "pFVar11[iVar19].hPending" (subscript_expression "pFVar11[iVar19]" identifier [ identifier ]) . field_identifier) . field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pFVar11[iVar19].hPending.first = (Fts3HashElem *)0x0;" (assignment_expression "pFVar11[iVar19].hPending.first = (Fts3HashElem *)0x0" (field_expression "pFVar11[iVar19].hPending.first" (field_expression "pFVar11[iVar19].hPending" (subscript_expression "pFVar11[iVar19]" identifier [ identifier ]) . field_identifier) . field_identifier) = (cast_expression "(Fts3HashElem *)0x0" ( (type_descriptor "Fts3HashElem *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pFVar11[iVar19].hPending.count = 0;" (assignment_expression "pFVar11[iVar19].hPending.count = 0" (field_expression "pFVar11[iVar19].hPending.count" (field_expression "pFVar11[iVar19].hPending" (subscript_expression "pFVar11[iVar19]" identifier [ identifier ]) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "pFVar11[iVar19].hPending.htsize = 0;" (assignment_expression "pFVar11[iVar19].hPending.htsize = 0" (field_expression "pFVar11[iVar19].hPending.htsize" (field_expression "pFVar11[iVar19].hPending" (subscript_expression "pFVar11[iVar19]" identifier [ identifier ]) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "pFVar11[iVar19].hPending.ht = (_fts3ht *)0x0;" (assignment_expression "pFVar11[iVar19].hPending.ht = (_fts3ht *)0x0" (field_expression "pFVar11[iVar19].hPending.ht" (field_expression "pFVar11[iVar19].hPending" (subscript_expression "pFVar11[iVar19]" identifier [ identifier ]) . field_identifier) . field_identifier) = (cast_expression "(_fts3ht *)0x0" ( (type_descriptor "_fts3ht *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar19 = iVar10;" (assignment_expression "iVar19 = iVar10" identifier = identifier) ;) }) while (parenthesized_expression "(local_b4 != (char *)iVar10)" ( (binary_expression "local_b4 != (char *)iVar10" identifier != (cast_expression "(char *)iVar10" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) })) (expression_statement "local_dc->abNotindexed = (u8 *)(local_dc->aIndex + local_80);" (assignment_expression "local_dc->abNotindexed = (u8 *)(local_dc->aIndex + local_80)" (field_expression "local_dc->abNotindexed" identifier -> field_identifier) = (cast_expression "(u8 *)(local_dc->aIndex + local_80)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_dc->aIndex + local_80)" ( (binary_expression "local_dc->aIndex + local_80" (field_expression "local_dc->aIndex" identifier -> field_identifier) + identifier) )))) ;) (expression_statement "pcVar21 = (char *)((int)&local_dc->aIndex[local_80].nPrefix + iVar17);" (assignment_expression "pcVar21 = (char *)((int)&local_dc->aIndex[local_80].nPrefix + iVar17)" identifier = (cast_expression "(char *)((int)&local_dc->aIndex[local_80].nPrefix + iVar17)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_dc->aIndex[local_80].nPrefix + iVar17)" ( (binary_expression "(int)&local_dc->aIndex[local_80].nPrefix + iVar17" (cast_expression "(int)&local_dc->aIndex[local_80].nPrefix" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_dc->aIndex[local_80].nPrefix" & (field_expression "local_dc->aIndex[local_80].nPrefix" (subscript_expression "local_dc->aIndex[local_80]" (field_expression "local_dc->aIndex" identifier -> field_identifier) [ identifier ]) . field_identifier))) + identifier) )))) ;) (expression_statement "local_dc->zName = pcVar21;" (assignment_expression "local_dc->zName = pcVar21" (field_expression "local_dc->zName" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar20 = pcVar21 + sVar8;" (assignment_expression "pcVar20 = pcVar21 + sVar8" identifier = (binary_expression "pcVar21 + sVar8" identifier + identifier)) ;) (expression_statement "memcpy(pcVar21,argv[2],sVar8);" (call_expression "memcpy(pcVar21,argv[2],sVar8)" identifier (argument_list "(pcVar21,argv[2],sVar8)" ( identifier , (subscript_expression "argv[2]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "local_dc->zDb = pcVar20;" (assignment_expression "local_dc->zDb = pcVar20" (field_expression "local_dc->zDb" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar21 = pcVar20 + sVar7;" (assignment_expression "pcVar21 = pcVar20 + sVar7" identifier = (binary_expression "pcVar20 + sVar7" identifier + identifier)) ;) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "memcpy(pcVar20,argv[1],sVar7);" (call_expression "memcpy(pcVar20,argv[1],sVar7)" identifier (argument_list "(pcVar20,argv[1],sVar7)" ( identifier , (subscript_expression "argv[1]" identifier [ number_literal ]) , identifier ))) ;) (if_statement "if (0 < iVar17) {\n    do {\n      n = 0;\n      pcVar20 = sqlite3Fts3NextToken(*(char **)((int)local_cc + iVar19),&n);\n      if (0 < n) {\n        memcpy(pcVar21,pcVar20,n);\n      }\n      pcVar21[n] = '\0';\n      sqlite3Fts3Dequote(pcVar21);\n      *(char **)((int)local_dc->azColumn + iVar19) = pcVar21;\n      iVar19 = iVar19 + 4;\n      pcVar21 = pcVar21 + n + 1;\n    } while (iVar17 * 4 != iVar19);\n    local_c8 = (char *)0x0;\n    do {\n      sVar7 = strlen(local_dc->azColumn[(int)local_c8]);\n      piVar18 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)) &&\n                 (iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),\n                 iVar19 == 0))) {\n            piVar22 = piVar18 + 1;\n            local_dc->abNotindexed[(int)local_c8] = '\x01';\n            sqlite3_free(pcVar21);\n            *piVar18 = 0;\n            piVar18 = piVar22;\n            if (local_c0 + local_b0 == piVar22) goto LAB_000d0168;\n          }\n          piVar18 = piVar18 + 1;\n        } while (local_c0 + local_b0 != piVar18);\n      }\nLAB_000d0168:\n      local_c8 = (char *)((int)local_c8 + 1);\n    } while (local_c8 != (char *)iVar17);\n  }" if (parenthesized_expression "(0 < iVar17)" ( (binary_expression "0 < iVar17" number_literal < identifier) )) (compound_statement "{\n    do {\n      n = 0;\n      pcVar20 = sqlite3Fts3NextToken(*(char **)((int)local_cc + iVar19),&n);\n      if (0 < n) {\n        memcpy(pcVar21,pcVar20,n);\n      }\n      pcVar21[n] = '\0';\n      sqlite3Fts3Dequote(pcVar21);\n      *(char **)((int)local_dc->azColumn + iVar19) = pcVar21;\n      iVar19 = iVar19 + 4;\n      pcVar21 = pcVar21 + n + 1;\n    } while (iVar17 * 4 != iVar19);\n    local_c8 = (char *)0x0;\n    do {\n      sVar7 = strlen(local_dc->azColumn[(int)local_c8]);\n      piVar18 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)) &&\n                 (iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),\n                 iVar19 == 0))) {\n            piVar22 = piVar18 + 1;\n            local_dc->abNotindexed[(int)local_c8] = '\x01';\n            sqlite3_free(pcVar21);\n            *piVar18 = 0;\n            piVar18 = piVar22;\n            if (local_c0 + local_b0 == piVar22) goto LAB_000d0168;\n          }\n          piVar18 = piVar18 + 1;\n        } while (local_c0 + local_b0 != piVar18);\n      }\nLAB_000d0168:\n      local_c8 = (char *)((int)local_c8 + 1);\n    } while (local_c8 != (char *)iVar17);\n  }" { (do_statement "do {\n      n = 0;\n      pcVar20 = sqlite3Fts3NextToken(*(char **)((int)local_cc + iVar19),&n);\n      if (0 < n) {\n        memcpy(pcVar21,pcVar20,n);\n      }\n      pcVar21[n] = '\0';\n      sqlite3Fts3Dequote(pcVar21);\n      *(char **)((int)local_dc->azColumn + iVar19) = pcVar21;\n      iVar19 = iVar19 + 4;\n      pcVar21 = pcVar21 + n + 1;\n    } while (iVar17 * 4 != iVar19);" do (compound_statement "{\n      n = 0;\n      pcVar20 = sqlite3Fts3NextToken(*(char **)((int)local_cc + iVar19),&n);\n      if (0 < n) {\n        memcpy(pcVar21,pcVar20,n);\n      }\n      pcVar21[n] = '\0';\n      sqlite3Fts3Dequote(pcVar21);\n      *(char **)((int)local_dc->azColumn + iVar19) = pcVar21;\n      iVar19 = iVar19 + 4;\n      pcVar21 = pcVar21 + n + 1;\n    }" { (expression_statement "n = 0;" (assignment_expression "n = 0" identifier = number_literal) ;) (expression_statement "pcVar20 = sqlite3Fts3NextToken(*(char **)((int)local_cc + iVar19),&n);" (assignment_expression "pcVar20 = sqlite3Fts3NextToken(*(char **)((int)local_cc + iVar19),&n)" identifier = (call_expression "sqlite3Fts3NextToken(*(char **)((int)local_cc + iVar19),&n)" identifier (argument_list "(*(char **)((int)local_cc + iVar19),&n)" ( (pointer_expression "*(char **)((int)local_cc + iVar19)" * (cast_expression "(char **)((int)local_cc + iVar19)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_cc + iVar19)" ( (binary_expression "(int)local_cc + iVar19" (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) , (pointer_expression "&n" & identifier) )))) ;) (if_statement "if (0 < n) {\n        memcpy(pcVar21,pcVar20,n);\n      }" if (parenthesized_expression "(0 < n)" ( (binary_expression "0 < n" number_literal < identifier) )) (compound_statement "{\n        memcpy(pcVar21,pcVar20,n);\n      }" { (expression_statement "memcpy(pcVar21,pcVar20,n);" (call_expression "memcpy(pcVar21,pcVar20,n)" identifier (argument_list "(pcVar21,pcVar20,n)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "pcVar21[n] = '\0';" (assignment_expression "pcVar21[n] = '\0'" (subscript_expression "pcVar21[n]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "sqlite3Fts3Dequote(pcVar21);" (call_expression "sqlite3Fts3Dequote(pcVar21)" identifier (argument_list "(pcVar21)" ( identifier ))) ;) (expression_statement "*(char **)((int)local_dc->azColumn + iVar19) = pcVar21;" (assignment_expression "*(char **)((int)local_dc->azColumn + iVar19) = pcVar21" (pointer_expression "*(char **)((int)local_dc->azColumn + iVar19)" * (cast_expression "(char **)((int)local_dc->azColumn + iVar19)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc->azColumn + iVar19)" ( (binary_expression "(int)local_dc->azColumn + iVar19" (cast_expression "(int)local_dc->azColumn" ( (type_descriptor "int" primitive_type) ) (field_expression "local_dc->azColumn" identifier -> field_identifier)) + identifier) )))) = identifier) ;) (expression_statement "iVar19 = iVar19 + 4;" (assignment_expression "iVar19 = iVar19 + 4" identifier = (binary_expression "iVar19 + 4" identifier + number_literal)) ;) (expression_statement "pcVar21 = pcVar21 + n + 1;" (assignment_expression "pcVar21 = pcVar21 + n + 1" identifier = (binary_expression "pcVar21 + n + 1" (binary_expression "pcVar21 + n" identifier + identifier) + number_literal)) ;) }) while (parenthesized_expression "(iVar17 * 4 != iVar19)" ( (binary_expression "iVar17 * 4 != iVar19" (binary_expression "iVar17 * 4" identifier * number_literal) != identifier) )) ;) (expression_statement "local_c8 = (char *)0x0;" (assignment_expression "local_c8 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      sVar7 = strlen(local_dc->azColumn[(int)local_c8]);\n      piVar18 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)) &&\n                 (iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),\n                 iVar19 == 0))) {\n            piVar22 = piVar18 + 1;\n            local_dc->abNotindexed[(int)local_c8] = '\x01';\n            sqlite3_free(pcVar21);\n            *piVar18 = 0;\n            piVar18 = piVar22;\n            if (local_c0 + local_b0 == piVar22) goto LAB_000d0168;\n          }\n          piVar18 = piVar18 + 1;\n        } while (local_c0 + local_b0 != piVar18);\n      }\nLAB_000d0168:\n      local_c8 = (char *)((int)local_c8 + 1);\n    } while (local_c8 != (char *)iVar17);" do (compound_statement "{\n      sVar7 = strlen(local_dc->azColumn[(int)local_c8]);\n      piVar18 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)) &&\n                 (iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),\n                 iVar19 == 0))) {\n            piVar22 = piVar18 + 1;\n            local_dc->abNotindexed[(int)local_c8] = '\x01';\n            sqlite3_free(pcVar21);\n            *piVar18 = 0;\n            piVar18 = piVar22;\n            if (local_c0 + local_b0 == piVar22) goto LAB_000d0168;\n          }\n          piVar18 = piVar18 + 1;\n        } while (local_c0 + local_b0 != piVar18);\n      }\nLAB_000d0168:\n      local_c8 = (char *)((int)local_c8 + 1);\n    }" { (expression_statement "sVar7 = strlen(local_dc->azColumn[(int)local_c8]);" (assignment_expression "sVar7 = strlen(local_dc->azColumn[(int)local_c8])" identifier = (call_expression "strlen(local_dc->azColumn[(int)local_c8])" identifier (argument_list "(local_dc->azColumn[(int)local_c8])" ( (subscript_expression "local_dc->azColumn[(int)local_c8]" (field_expression "local_dc->azColumn" identifier -> field_identifier) [ (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) ]) )))) ;) (expression_statement "piVar18 = local_c0;" (assignment_expression "piVar18 = local_c0" identifier = identifier) ;) (if_statement "if (local_b0 != 0) {\n        do {\n          while (((pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)) &&\n                 (iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),\n                 iVar19 == 0))) {\n            piVar22 = piVar18 + 1;\n            local_dc->abNotindexed[(int)local_c8] = '\x01';\n            sqlite3_free(pcVar21);\n            *piVar18 = 0;\n            piVar18 = piVar22;\n            if (local_c0 + local_b0 == piVar22) goto LAB_000d0168;\n          }\n          piVar18 = piVar18 + 1;\n        } while (local_c0 + local_b0 != piVar18);\n      }" if (parenthesized_expression "(local_b0 != 0)" ( (binary_expression "local_b0 != 0" identifier != number_literal) )) (compound_statement "{\n        do {\n          while (((pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)) &&\n                 (iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),\n                 iVar19 == 0))) {\n            piVar22 = piVar18 + 1;\n            local_dc->abNotindexed[(int)local_c8] = '\x01';\n            sqlite3_free(pcVar21);\n            *piVar18 = 0;\n            piVar18 = piVar22;\n            if (local_c0 + local_b0 == piVar22) goto LAB_000d0168;\n          }\n          piVar18 = piVar18 + 1;\n        } while (local_c0 + local_b0 != piVar18);\n      }" { (do_statement "do {\n          while (((pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)) &&\n                 (iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),\n                 iVar19 == 0))) {\n            piVar22 = piVar18 + 1;\n            local_dc->abNotindexed[(int)local_c8] = '\x01';\n            sqlite3_free(pcVar21);\n            *piVar18 = 0;\n            piVar18 = piVar22;\n            if (local_c0 + local_b0 == piVar22) goto LAB_000d0168;\n          }\n          piVar18 = piVar18 + 1;\n        } while (local_c0 + local_b0 != piVar18);" do (compound_statement "{\n          while (((pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)) &&\n                 (iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),\n                 iVar19 == 0))) {\n            piVar22 = piVar18 + 1;\n            local_dc->abNotindexed[(int)local_c8] = '\x01';\n            sqlite3_free(pcVar21);\n            *piVar18 = 0;\n            piVar18 = piVar22;\n            if (local_c0 + local_b0 == piVar22) goto LAB_000d0168;\n          }\n          piVar18 = piVar18 + 1;\n        }" { (while_statement "while (((pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)) &&\n                 (iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),\n                 iVar19 == 0))) {\n            piVar22 = piVar18 + 1;\n            local_dc->abNotindexed[(int)local_c8] = '\x01';\n            sqlite3_free(pcVar21);\n            *piVar18 = 0;\n            piVar18 = piVar22;\n            if (local_c0 + local_b0 == piVar22) goto LAB_000d0168;\n          }" while (parenthesized_expression "(((pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)) &&\n                 (iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),\n                 iVar19 == 0)))" ( (parenthesized_expression "((pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)) &&\n                 (iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),\n                 iVar19 == 0))" ( (binary_expression "(pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)) &&\n                 (iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),\n                 iVar19 == 0)" (parenthesized_expression "(pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8))" ( (comma_expression "pcVar21 = (char *)*piVar18, pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)" (assignment_expression "pcVar21 = (char *)*piVar18" identifier = (cast_expression "(char *)*piVar18" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier))) , (binary_expression "pcVar21 != (char *)0x0 &&\n                  (sVar8 = strlen(pcVar21), sVar7 == sVar8)" (binary_expression "pcVar21 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(sVar8 = strlen(pcVar21), sVar7 == sVar8)" ( (comma_expression "sVar8 = strlen(pcVar21), sVar7 == sVar8" (assignment_expression "sVar8 = strlen(pcVar21)" identifier = (call_expression "strlen(pcVar21)" identifier (argument_list "(pcVar21)" ( identifier )))) , (binary_expression "sVar7 == sVar8" identifier == identifier)) )))) )) && (parenthesized_expression "(iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),\n                 iVar19 == 0)" ( (comma_expression "iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7),\n                 iVar19 == 0" (assignment_expression "iVar19 = sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7)" identifier = (call_expression "sqlite3_strnicmp(local_dc->azColumn[(int)local_c8],pcVar21,sVar7)" identifier (argument_list "(local_dc->azColumn[(int)local_c8],pcVar21,sVar7)" ( (subscript_expression "local_dc->azColumn[(int)local_c8]" (field_expression "local_dc->azColumn" identifier -> field_identifier) [ (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) ]) , identifier , identifier )))) , (binary_expression "iVar19 == 0" identifier == number_literal)) ))) )) )) (compound_statement "{\n            piVar22 = piVar18 + 1;\n            local_dc->abNotindexed[(int)local_c8] = '\x01';\n            sqlite3_free(pcVar21);\n            *piVar18 = 0;\n            piVar18 = piVar22;\n            if (local_c0 + local_b0 == piVar22) goto LAB_000d0168;\n          }" { (expression_statement "piVar22 = piVar18 + 1;" (assignment_expression "piVar22 = piVar18 + 1" identifier = (binary_expression "piVar18 + 1" identifier + number_literal)) ;) (expression_statement "local_dc->abNotindexed[(int)local_c8] = '\x01';" (assignment_expression "local_dc->abNotindexed[(int)local_c8] = '\x01'" (subscript_expression "local_dc->abNotindexed[(int)local_c8]" (field_expression "local_dc->abNotindexed" identifier -> field_identifier) [ (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "sqlite3_free(pcVar21);" (call_expression "sqlite3_free(pcVar21)" identifier (argument_list "(pcVar21)" ( identifier ))) ;) (expression_statement "*piVar18 = 0;" (assignment_expression "*piVar18 = 0" (pointer_expression "*piVar18" * identifier) = number_literal) ;) (expression_statement "piVar18 = piVar22;" (assignment_expression "piVar18 = piVar22" identifier = identifier) ;) (if_statement "if (local_c0 + local_b0 == piVar22) goto LAB_000d0168;" if (parenthesized_expression "(local_c0 + local_b0 == piVar22)" ( (binary_expression "local_c0 + local_b0 == piVar22" (binary_expression "local_c0 + local_b0" identifier + identifier) == identifier) )) (goto_statement "goto LAB_000d0168;" goto statement_identifier ;)) })) (expression_statement "piVar18 = piVar18 + 1;" (assignment_expression "piVar18 = piVar18 + 1" identifier = (binary_expression "piVar18 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_c0 + local_b0 != piVar18)" ( (binary_expression "local_c0 + local_b0 != piVar18" (binary_expression "local_c0 + local_b0" identifier + identifier) != identifier) )) ;) })) (labeled_statement "LAB_000d0168:\n      local_c8 = (char *)((int)local_c8 + 1);" statement_identifier : (expression_statement "local_c8 = (char *)((int)local_c8 + 1);" (assignment_expression "local_c8 = (char *)((int)local_c8 + 1)" identifier = (cast_expression "(char *)((int)local_c8 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_c8 + 1)" ( (binary_expression "(int)local_c8 + 1" (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) }) while (parenthesized_expression "(local_c8 != (char *)iVar17)" ( (binary_expression "local_c8 != (char *)iVar17" identifier != (cast_expression "(char *)iVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) })) (expression_statement "piVar18 = local_c0;" (assignment_expression "piVar18 = local_c0" identifier = identifier) ;) (if_statement "if (local_b0 != 0) {\n    do {\n      if (*piVar18 != 0) {\n        sqlite3Fts3ErrMsg(pzErr,"no such column: %s",*piVar18);\n        rc = 1;\n      }\n      piVar18 = piVar18 + 1;\n    } while (local_c0 + local_b0 != piVar18);\n  }" if (parenthesized_expression "(local_b0 != 0)" ( (binary_expression "local_b0 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      if (*piVar18 != 0) {\n        sqlite3Fts3ErrMsg(pzErr,"no such column: %s",*piVar18);\n        rc = 1;\n      }\n      piVar18 = piVar18 + 1;\n    } while (local_c0 + local_b0 != piVar18);\n  }" { (do_statement "do {\n      if (*piVar18 != 0) {\n        sqlite3Fts3ErrMsg(pzErr,"no such column: %s",*piVar18);\n        rc = 1;\n      }\n      piVar18 = piVar18 + 1;\n    } while (local_c0 + local_b0 != piVar18);" do (compound_statement "{\n      if (*piVar18 != 0) {\n        sqlite3Fts3ErrMsg(pzErr,"no such column: %s",*piVar18);\n        rc = 1;\n      }\n      piVar18 = piVar18 + 1;\n    }" { (if_statement "if (*piVar18 != 0) {\n        sqlite3Fts3ErrMsg(pzErr,"no such column: %s",*piVar18);\n        rc = 1;\n      }" if (parenthesized_expression "(*piVar18 != 0)" ( (binary_expression "*piVar18 != 0" (pointer_expression "*piVar18" * identifier) != number_literal) )) (compound_statement "{\n        sqlite3Fts3ErrMsg(pzErr,"no such column: %s",*piVar18);\n        rc = 1;\n      }" { (expression_statement "sqlite3Fts3ErrMsg(pzErr,"no such column: %s",*piVar18);" (call_expression "sqlite3Fts3ErrMsg(pzErr,"no such column: %s",*piVar18)" identifier (argument_list "(pzErr,"no such column: %s",*piVar18)" ( identifier , (string_literal ""no such column: %s"" " string_content ") , (pointer_expression "*piVar18" * identifier) ))) ;) (expression_statement "rc = 1;" (assignment_expression "rc = 1" identifier = number_literal) ;) })) (expression_statement "piVar18 = piVar18 + 1;" (assignment_expression "piVar18 = piVar18 + 1" identifier = (binary_expression "piVar18 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_c0 + local_b0 != piVar18)" ( (binary_expression "local_c0 + local_b0 != piVar18" (binary_expression "local_c0 + local_b0" identifier + identifier) != identifier) )) ;) })) (if_statement "if ((rc == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {\n    rc = 1;\n    pcVar21 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar21 = "compress";\n    }\n    sqlite3Fts3ErrMsg(pzErr,"missing %s parameter in fts4 constructor",pcVar21);\n  }" if (parenthesized_expression "((rc == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0)))" ( (binary_expression "(rc == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))" (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) )) && (parenthesized_expression "((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))" ( (binary_expression "(local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0)" (parenthesized_expression "(local_a4 == (byte *)0x0)" ( (binary_expression "local_a4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) != (parenthesized_expression "(local_a0 == (byte *)0x0)" ( (binary_expression "local_a0 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) ))) )) (compound_statement "{\n    rc = 1;\n    pcVar21 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar21 = "compress";\n    }\n    sqlite3Fts3ErrMsg(pzErr,"missing %s parameter in fts4 constructor",pcVar21);\n  }" { (expression_statement "rc = 1;" (assignment_expression "rc = 1" identifier = number_literal) ;) (expression_statement "pcVar21 = "uncompress";" (assignment_expression "pcVar21 = "uncompress"" identifier = (string_literal ""uncompress"" " string_content ")) ;) (if_statement "if (local_a4 == (byte *)0x0) {\n      pcVar21 = "compress";\n    }" if (parenthesized_expression "(local_a4 == (byte *)0x0)" ( (binary_expression "local_a4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar21 = "compress";\n    }" { (expression_statement "pcVar21 = "compress";" (assignment_expression "pcVar21 = "compress"" identifier = (string_literal ""compress"" " string_content ")) ;) })) (expression_statement "sqlite3Fts3ErrMsg(pzErr,"missing %s parameter in fts4 constructor",pcVar21);" (call_expression "sqlite3Fts3ErrMsg(pzErr,"missing %s parameter in fts4 constructor",pcVar21)" identifier (argument_list "(pzErr,"missing %s parameter in fts4 constructor",pcVar21)" ( identifier , (string_literal ""missing %s parameter in fts4 constructor"" " string_content ") , identifier ))) ;) })) (expression_statement "n = 0;" (assignment_expression "n = 0" identifier = number_literal) ;) (if_statement "if (local_dc->zContentTbl == (char *)0x0) {\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = "";\n      local_b4 = (char *)0x0;\n    }\n    else {\n      local_d0 = fts3QuoteId((char *)local_a0);\n      local_b4 = local_d0;\n    }\n    iVar17 = 0;\n    fts3Appendf(&rc,(char **)&n,"docid");\n    if (0 < local_dc->nColumn) {\n      do {\n        iVar19 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,",%s(x.\'c%d%q\')",local_d0,iVar17,local_dc->azColumn[iVar17]);\n        iVar17 = iVar19;\n      } while (iVar19 < local_dc->nColumn);\n    }\n    if (local_dc->zLanguageid != (char *)0x0) {\n      fts3Appendf(&rc,(char **)&n,", x.%Q","langid");\n    }\n    sqlite3_free(local_b4);\n  }\n  else {\n    fts3Appendf(&rc,(char **)&n,"rowid");\n    if (0 < local_dc->nColumn) {\n      iVar17 = 0;\n      do {\n        ppcVar1 = local_dc->azColumn + iVar17;\n        iVar17 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,", x.\'%q\'",*ppcVar1);\n      } while (iVar17 < local_dc->nColumn);\n    }\n    if (local_dc->zLanguageid != (char *)0x0) {\n      fts3Appendf(&rc,(char **)&n,", x.%Q",local_dc->zLanguageid);\n    }\n  }" if (parenthesized_expression "(local_dc->zContentTbl == (char *)0x0)" ( (binary_expression "local_dc->zContentTbl == (char *)0x0" (field_expression "local_dc->zContentTbl" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = "";\n      local_b4 = (char *)0x0;\n    }\n    else {\n      local_d0 = fts3QuoteId((char *)local_a0);\n      local_b4 = local_d0;\n    }\n    iVar17 = 0;\n    fts3Appendf(&rc,(char **)&n,"docid");\n    if (0 < local_dc->nColumn) {\n      do {\n        iVar19 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,",%s(x.\'c%d%q\')",local_d0,iVar17,local_dc->azColumn[iVar17]);\n        iVar17 = iVar19;\n      } while (iVar19 < local_dc->nColumn);\n    }\n    if (local_dc->zLanguageid != (char *)0x0) {\n      fts3Appendf(&rc,(char **)&n,", x.%Q","langid");\n    }\n    sqlite3_free(local_b4);\n  }" { (if_statement "if (local_a0 == (byte *)0x0) {\n      local_d0 = "";\n      local_b4 = (char *)0x0;\n    }\n    else {\n      local_d0 = fts3QuoteId((char *)local_a0);\n      local_b4 = local_d0;\n    }" if (parenthesized_expression "(local_a0 == (byte *)0x0)" ( (binary_expression "local_a0 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_d0 = "";\n      local_b4 = (char *)0x0;\n    }" { (expression_statement "local_d0 = "";" (assignment_expression "local_d0 = """ identifier = (string_literal """" " ")) ;) (expression_statement "local_b4 = (char *)0x0;" (assignment_expression "local_b4 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      local_d0 = fts3QuoteId((char *)local_a0);\n      local_b4 = local_d0;\n    }" else (compound_statement "{\n      local_d0 = fts3QuoteId((char *)local_a0);\n      local_b4 = local_d0;\n    }" { (expression_statement "local_d0 = fts3QuoteId((char *)local_a0);" (assignment_expression "local_d0 = fts3QuoteId((char *)local_a0)" identifier = (call_expression "fts3QuoteId((char *)local_a0)" identifier (argument_list "((char *)local_a0)" ( (cast_expression "(char *)local_a0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "local_b4 = local_d0;" (assignment_expression "local_b4 = local_d0" identifier = identifier) ;) }))) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "fts3Appendf(&rc,(char **)&n,"docid");" (call_expression "fts3Appendf(&rc,(char **)&n,"docid")" identifier (argument_list "(&rc,(char **)&n,"docid")" ( (pointer_expression "&rc" & identifier) , (cast_expression "(char **)&n" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&n" & identifier)) , (string_literal ""docid"" " string_content ") ))) ;) (if_statement "if (0 < local_dc->nColumn) {\n      do {\n        iVar19 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,",%s(x.\'c%d%q\')",local_d0,iVar17,local_dc->azColumn[iVar17]);\n        iVar17 = iVar19;\n      } while (iVar19 < local_dc->nColumn);\n    }" if (parenthesized_expression "(0 < local_dc->nColumn)" ( (binary_expression "0 < local_dc->nColumn" number_literal < (field_expression "local_dc->nColumn" identifier -> field_identifier)) )) (compound_statement "{\n      do {\n        iVar19 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,",%s(x.\'c%d%q\')",local_d0,iVar17,local_dc->azColumn[iVar17]);\n        iVar17 = iVar19;\n      } while (iVar19 < local_dc->nColumn);\n    }" { (do_statement "do {\n        iVar19 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,",%s(x.\'c%d%q\')",local_d0,iVar17,local_dc->azColumn[iVar17]);\n        iVar17 = iVar19;\n      } while (iVar19 < local_dc->nColumn);" do (compound_statement "{\n        iVar19 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,",%s(x.\'c%d%q\')",local_d0,iVar17,local_dc->azColumn[iVar17]);\n        iVar17 = iVar19;\n      }" { (expression_statement "iVar19 = iVar17 + 1;" (assignment_expression "iVar19 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "fts3Appendf(&rc,(char **)&n,",%s(x.\'c%d%q\')",local_d0,iVar17,local_dc->azColumn[iVar17]);" (call_expression "fts3Appendf(&rc,(char **)&n,",%s(x.\'c%d%q\')",local_d0,iVar17,local_dc->azColumn[iVar17])" identifier (argument_list "(&rc,(char **)&n,",%s(x.\'c%d%q\')",local_d0,iVar17,local_dc->azColumn[iVar17])" ( (pointer_expression "&rc" & identifier) , (cast_expression "(char **)&n" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&n" & identifier)) , (string_literal "",%s(x.\'c%d%q\')"" " string_content escape_sequence string_content escape_sequence string_content ") , identifier , identifier , (subscript_expression "local_dc->azColumn[iVar17]" (field_expression "local_dc->azColumn" identifier -> field_identifier) [ identifier ]) ))) ;) (expression_statement "iVar17 = iVar19;" (assignment_expression "iVar17 = iVar19" identifier = identifier) ;) }) while (parenthesized_expression "(iVar19 < local_dc->nColumn)" ( (binary_expression "iVar19 < local_dc->nColumn" identifier < (field_expression "local_dc->nColumn" identifier -> field_identifier)) )) ;) })) (if_statement "if (local_dc->zLanguageid != (char *)0x0) {\n      fts3Appendf(&rc,(char **)&n,", x.%Q","langid");\n    }" if (parenthesized_expression "(local_dc->zLanguageid != (char *)0x0)" ( (binary_expression "local_dc->zLanguageid != (char *)0x0" (field_expression "local_dc->zLanguageid" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      fts3Appendf(&rc,(char **)&n,", x.%Q","langid");\n    }" { (expression_statement "fts3Appendf(&rc,(char **)&n,", x.%Q","langid");" (call_expression "fts3Appendf(&rc,(char **)&n,", x.%Q","langid")" identifier (argument_list "(&rc,(char **)&n,", x.%Q","langid")" ( (pointer_expression "&rc" & identifier) , (cast_expression "(char **)&n" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&n" & identifier)) , (string_literal "", x.%Q"" " string_content ") , (string_literal ""langid"" " string_content ") ))) ;) })) (expression_statement "sqlite3_free(local_b4);" (call_expression "sqlite3_free(local_b4)" identifier (argument_list "(local_b4)" ( identifier ))) ;) }) (else_clause "else {\n    fts3Appendf(&rc,(char **)&n,"rowid");\n    if (0 < local_dc->nColumn) {\n      iVar17 = 0;\n      do {\n        ppcVar1 = local_dc->azColumn + iVar17;\n        iVar17 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,", x.\'%q\'",*ppcVar1);\n      } while (iVar17 < local_dc->nColumn);\n    }\n    if (local_dc->zLanguageid != (char *)0x0) {\n      fts3Appendf(&rc,(char **)&n,", x.%Q",local_dc->zLanguageid);\n    }\n  }" else (compound_statement "{\n    fts3Appendf(&rc,(char **)&n,"rowid");\n    if (0 < local_dc->nColumn) {\n      iVar17 = 0;\n      do {\n        ppcVar1 = local_dc->azColumn + iVar17;\n        iVar17 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,", x.\'%q\'",*ppcVar1);\n      } while (iVar17 < local_dc->nColumn);\n    }\n    if (local_dc->zLanguageid != (char *)0x0) {\n      fts3Appendf(&rc,(char **)&n,", x.%Q",local_dc->zLanguageid);\n    }\n  }" { (expression_statement "fts3Appendf(&rc,(char **)&n,"rowid");" (call_expression "fts3Appendf(&rc,(char **)&n,"rowid")" identifier (argument_list "(&rc,(char **)&n,"rowid")" ( (pointer_expression "&rc" & identifier) , (cast_expression "(char **)&n" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&n" & identifier)) , (string_literal ""rowid"" " string_content ") ))) ;) (if_statement "if (0 < local_dc->nColumn) {\n      iVar17 = 0;\n      do {\n        ppcVar1 = local_dc->azColumn + iVar17;\n        iVar17 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,", x.\'%q\'",*ppcVar1);\n      } while (iVar17 < local_dc->nColumn);\n    }" if (parenthesized_expression "(0 < local_dc->nColumn)" ( (binary_expression "0 < local_dc->nColumn" number_literal < (field_expression "local_dc->nColumn" identifier -> field_identifier)) )) (compound_statement "{\n      iVar17 = 0;\n      do {\n        ppcVar1 = local_dc->azColumn + iVar17;\n        iVar17 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,", x.\'%q\'",*ppcVar1);\n      } while (iVar17 < local_dc->nColumn);\n    }" { (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n        ppcVar1 = local_dc->azColumn + iVar17;\n        iVar17 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,", x.\'%q\'",*ppcVar1);\n      } while (iVar17 < local_dc->nColumn);" do (compound_statement "{\n        ppcVar1 = local_dc->azColumn + iVar17;\n        iVar17 = iVar17 + 1;\n        fts3Appendf(&rc,(char **)&n,", x.\'%q\'",*ppcVar1);\n      }" { (expression_statement "ppcVar1 = local_dc->azColumn + iVar17;" (assignment_expression "ppcVar1 = local_dc->azColumn + iVar17" identifier = (binary_expression "local_dc->azColumn + iVar17" (field_expression "local_dc->azColumn" identifier -> field_identifier) + identifier)) ;) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "fts3Appendf(&rc,(char **)&n,", x.\'%q\'",*ppcVar1);" (call_expression "fts3Appendf(&rc,(char **)&n,", x.\'%q\'",*ppcVar1)" identifier (argument_list "(&rc,(char **)&n,", x.\'%q\'",*ppcVar1)" ( (pointer_expression "&rc" & identifier) , (cast_expression "(char **)&n" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&n" & identifier)) , (string_literal "", x.\'%q\'"" " string_content escape_sequence string_content escape_sequence ") , (pointer_expression "*ppcVar1" * identifier) ))) ;) }) while (parenthesized_expression "(iVar17 < local_dc->nColumn)" ( (binary_expression "iVar17 < local_dc->nColumn" identifier < (field_expression "local_dc->nColumn" identifier -> field_identifier)) )) ;) })) (if_statement "if (local_dc->zLanguageid != (char *)0x0) {\n      fts3Appendf(&rc,(char **)&n,", x.%Q",local_dc->zLanguageid);\n    }" if (parenthesized_expression "(local_dc->zLanguageid != (char *)0x0)" ( (binary_expression "local_dc->zLanguageid != (char *)0x0" (field_expression "local_dc->zLanguageid" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      fts3Appendf(&rc,(char **)&n,", x.%Q",local_dc->zLanguageid);\n    }" { (expression_statement "fts3Appendf(&rc,(char **)&n,", x.%Q",local_dc->zLanguageid);" (call_expression "fts3Appendf(&rc,(char **)&n,", x.%Q",local_dc->zLanguageid)" identifier (argument_list "(&rc,(char **)&n,", x.%Q",local_dc->zLanguageid)" ( (pointer_expression "&rc" & identifier) , (cast_expression "(char **)&n" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&n" & identifier)) , (string_literal "", x.%Q"" " string_content ") , (field_expression "local_dc->zLanguageid" identifier -> field_identifier) ))) ;) })) }))) (expression_statement "pcVar21 = local_dc->zContentTbl;" (assignment_expression "pcVar21 = local_dc->zContentTbl" identifier = (field_expression "local_dc->zContentTbl" identifier -> field_identifier)) ;) (if_statement "if (pcVar21 == (char *)0x0) {\n    pcVar20 = "_content";\n    pcVar21 = local_dc->zName;\n  }\n  else {\n    pcVar20 = "";\n  }" if (parenthesized_expression "(pcVar21 == (char *)0x0)" ( (binary_expression "pcVar21 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar20 = "_content";\n    pcVar21 = local_dc->zName;\n  }" { (expression_statement "pcVar20 = "_content";" (assignment_expression "pcVar20 = "_content"" identifier = (string_literal ""_content"" " string_content ")) ;) (expression_statement "pcVar21 = local_dc->zName;" (assignment_expression "pcVar21 = local_dc->zName" identifier = (field_expression "local_dc->zName" identifier -> field_identifier)) ;) }) (else_clause "else {\n    pcVar20 = "";\n  }" else (compound_statement "{\n    pcVar20 = "";\n  }" { (expression_statement "pcVar20 = "";" (assignment_expression "pcVar20 = """ identifier = (string_literal """" " ")) ;) }))) (expression_statement "fts3Appendf(&rc,(char **)&n," FROM \'%q\'.\'%q%s\' AS x",local_dc->zDb,pcVar21,pcVar20);" (call_expression "fts3Appendf(&rc,(char **)&n," FROM \'%q\'.\'%q%s\' AS x",local_dc->zDb,pcVar21,pcVar20)" identifier (argument_list "(&rc,(char **)&n," FROM \'%q\'.\'%q%s\' AS x",local_dc->zDb,pcVar21,pcVar20)" ( (pointer_expression "&rc" & identifier) , (cast_expression "(char **)&n" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&n" & identifier)) , (string_literal "" FROM \'%q\'.\'%q%s\' AS x"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , (field_expression "local_dc->zDb" identifier -> field_identifier) , identifier , identifier ))) ;) (expression_statement "local_dc->zReadExprlist = (char *)n;" (assignment_expression "local_dc->zReadExprlist = (char *)n" (field_expression "local_dc->zReadExprlist" identifier -> field_identifier) = (cast_expression "(char *)n" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "n = 0;" (assignment_expression "n = 0" identifier = number_literal) ;) (if_statement "if (local_a4 == (byte *)0x0) {\n    local_c8 = (char *)0x0;\n    pcVar21 = "";\n  }\n  else {\n    pcVar21 = fts3QuoteId((char *)local_a4);\n    local_c8 = pcVar21;\n  }" if (parenthesized_expression "(local_a4 == (byte *)0x0)" ( (binary_expression "local_a4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_c8 = (char *)0x0;\n    pcVar21 = "";\n  }" { (expression_statement "local_c8 = (char *)0x0;" (assignment_expression "local_c8 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar21 = "";" (assignment_expression "pcVar21 = """ identifier = (string_literal """" " ")) ;) }) (else_clause "else {\n    pcVar21 = fts3QuoteId((char *)local_a4);\n    local_c8 = pcVar21;\n  }" else (compound_statement "{\n    pcVar21 = fts3QuoteId((char *)local_a4);\n    local_c8 = pcVar21;\n  }" { (expression_statement "pcVar21 = fts3QuoteId((char *)local_a4);" (assignment_expression "pcVar21 = fts3QuoteId((char *)local_a4)" identifier = (call_expression "fts3QuoteId((char *)local_a4)" identifier (argument_list "((char *)local_a4)" ( (cast_expression "(char *)local_a4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "local_c8 = pcVar21;" (assignment_expression "local_c8 = pcVar21" identifier = identifier) ;) }))) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "ppsVar27 = (sqlite3_stmt **)&n;" (assignment_expression "ppsVar27 = (sqlite3_stmt **)&n" identifier = (cast_expression "(sqlite3_stmt **)&n" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&n" & identifier))) ;) (expression_statement "fts3Appendf(&rc,(char **)&n,"?");" (call_expression "fts3Appendf(&rc,(char **)&n,"?")" identifier (argument_list "(&rc,(char **)&n,"?")" ( (pointer_expression "&rc" & identifier) , (cast_expression "(char **)&n" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&n" & identifier)) , (string_literal ""?"" " string_content ") ))) ;) (if_statement "if (0 < local_dc->nColumn) {\n    do {\n      iVar17 = iVar17 + 1;\n      ppsVar27 = (sqlite3_stmt **)&n;\n      fts3Appendf(&rc,(char **)&n,",%s(?)",pcVar21);\n    } while (iVar17 < local_dc->nColumn);\n  }" if (parenthesized_expression "(0 < local_dc->nColumn)" ( (binary_expression "0 < local_dc->nColumn" number_literal < (field_expression "local_dc->nColumn" identifier -> field_identifier)) )) (compound_statement "{\n    do {\n      iVar17 = iVar17 + 1;\n      ppsVar27 = (sqlite3_stmt **)&n;\n      fts3Appendf(&rc,(char **)&n,",%s(?)",pcVar21);\n    } while (iVar17 < local_dc->nColumn);\n  }" { (do_statement "do {\n      iVar17 = iVar17 + 1;\n      ppsVar27 = (sqlite3_stmt **)&n;\n      fts3Appendf(&rc,(char **)&n,",%s(?)",pcVar21);\n    } while (iVar17 < local_dc->nColumn);" do (compound_statement "{\n      iVar17 = iVar17 + 1;\n      ppsVar27 = (sqlite3_stmt **)&n;\n      fts3Appendf(&rc,(char **)&n,",%s(?)",pcVar21);\n    }" { (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "ppsVar27 = (sqlite3_stmt **)&n;" (assignment_expression "ppsVar27 = (sqlite3_stmt **)&n" identifier = (cast_expression "(sqlite3_stmt **)&n" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&n" & identifier))) ;) (expression_statement "fts3Appendf(&rc,(char **)&n,",%s(?)",pcVar21);" (call_expression "fts3Appendf(&rc,(char **)&n,",%s(?)",pcVar21)" identifier (argument_list "(&rc,(char **)&n,",%s(?)",pcVar21)" ( (pointer_expression "&rc" & identifier) , (cast_expression "(char **)&n" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&n" & identifier)) , (string_literal "",%s(?)"" " string_content ") , identifier ))) ;) }) while (parenthesized_expression "(iVar17 < local_dc->nColumn)" ( (binary_expression "iVar17 < local_dc->nColumn" identifier < (field_expression "local_dc->nColumn" identifier -> field_identifier)) )) ;) })) (if_statement "if (local_dc->zLanguageid != (char *)0x0) {\n    ppsVar27 = (sqlite3_stmt **)&n;\n    fts3Appendf(&rc,(char **)&n,", ?");\n  }" if (parenthesized_expression "(local_dc->zLanguageid != (char *)0x0)" ( (binary_expression "local_dc->zLanguageid != (char *)0x0" (field_expression "local_dc->zLanguageid" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    ppsVar27 = (sqlite3_stmt **)&n;\n    fts3Appendf(&rc,(char **)&n,", ?");\n  }" { (expression_statement "ppsVar27 = (sqlite3_stmt **)&n;" (assignment_expression "ppsVar27 = (sqlite3_stmt **)&n" identifier = (cast_expression "(sqlite3_stmt **)&n" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&n" & identifier))) ;) (expression_statement "fts3Appendf(&rc,(char **)&n,", ?");" (call_expression "fts3Appendf(&rc,(char **)&n,", ?")" identifier (argument_list "(&rc,(char **)&n,", ?")" ( (pointer_expression "&rc" & identifier) , (cast_expression "(char **)&n" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&n" & identifier)) , (string_literal "", ?"" " string_content ") ))) ;) })) (expression_statement "sqlite3_free(local_c8);" (call_expression "sqlite3_free(local_c8)" identifier (argument_list "(local_c8)" ( identifier ))) ;) (expression_statement "local_dc->zWriteExprlist = (char *)n;" (assignment_expression "local_dc->zWriteExprlist = (char *)n" (field_expression "local_dc->zWriteExprlist" identifier -> field_identifier) = (cast_expression "(char *)n" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (rc == 0) {\n    if (isCreate == 0) {\n      if (cVar3 != '4') {\n        local_dc->bHasStat = '\x02';\n      }\n    }\n    else {\n      n = 0;\n      db_00 = local_dc->db;\n      if (local_dc->zContentTbl == (char *)0x0) {\n        pcVar21 = local_dc->zLanguageid;\n        p = (sqlite3_stmt **)sqlite3_mprintf("docid INTEGER PRIMARY KEY");\n        if (p == (sqlite3_stmt **)0x0) {\nLAB_000d0ffd:\n          n = 7;\n          p = (sqlite3_stmt **)0x0;\n        }\n        else {\n          if (0 < local_dc->nColumn) {\n            iVar17 = 0;\n            do {\n              iVar19 = iVar17 + 1;\n              p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);\n              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;\n              iVar17 = iVar19;\n            } while (iVar19 < local_dc->nColumn);\n          }\n          if ((pcVar21 != (char *)0x0) &&\n             (p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0)) goto LAB_000d0ffd;\n        }\n        ppsVar27 = p;\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_content\'(%s)",local_dc->zDb,local_dc->zName,p);\n        sqlite3_free(p);\n      }\n      fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                 local_dc->zDb,local_dc->zName,ppsVar27);\n      fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                 ,local_dc->zDb,local_dc->zName);\n      if (local_dc->bHasDocsize != '\0') {\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                   local_dc->zDb,local_dc->zName);\n      }\n      if (local_dc->bHasStat != '\0') {\n        sqlite3Fts3CreateStatTable(&n,local_dc);\n      }\n      rc = n;\n      if (n != 0) {\n        local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    pcVar21 = sqlite3_mprintf("PRAGMA %Q.page_size",local_dc->zDb);\n    if (pcVar21 == (char *)0x0) {\n      sqlite3_free((void *)0x0);\n      rc = 7;\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    iVar17 = sqlite3_prepare(local_dc->db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0);\n    if (iVar17 == 0) {\n      sqlite3_step((sqlite3_stmt *)n);\n      iVar17 = sqlite3_column_int((sqlite3_stmt *)n,0);\n      local_dc->nPgsz = iVar17;\n      iVar17 = sqlite3_finalize((sqlite3_stmt *)n);\nLAB_000d0420:\n      sqlite3_free(pcVar21);\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n      rc = iVar17;\n      if (iVar17 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (iVar17 != 0x17) goto LAB_000d0420;\n      local_dc->nPgsz = 0x400;\n      sqlite3_free(pcVar21);\n      rc = 0;\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n    }\n    pcVar21 = "__langid";\n    if (local_dc->zLanguageid != (char *)0x0) {\n      pcVar21 = local_dc->zLanguageid;\n    }\n    sqlite3_vtab_config(local_dc->db,1,1);\n    pcVar20 = sqlite3_mprintf("%Q, ",*local_dc->azColumn);\n    if (pcVar20 == (char *)0x0) {\nLAB_000d04d3:\n      pcVar20 = (char *)0x0;\n      iVar17 = 7;\n      pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                                local_dc->zName,pcVar21);\n    }\n    else {\n      if (1 < local_dc->nColumn) {\n        iVar17 = 1;\n        do {\n          ppcVar1 = local_dc->azColumn + iVar17;\n          iVar17 = iVar17 + 1;\n          pcVar20 = sqlite3_mprintf("%z%Q, ",pcVar20,*ppcVar1);\n          if (pcVar20 == (char *)0x0) goto LAB_000d04d3;\n        } while (iVar17 < local_dc->nColumn);\n      }\n      iVar17 = 7;\n      pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",pcVar20,\n                                local_dc->zName,pcVar21);\n      if (pcVar21 != (char *)0x0) {\n        iVar17 = sqlite3_declare_vtab(local_dc->db,pcVar21);\n      }\n    }\n    sqlite3_free(pcVar21);\n    sqlite3_free(pcVar20);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    rc = iVar17;\n  }\n  else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }" if (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) )) (compound_statement "{\n    if (isCreate == 0) {\n      if (cVar3 != '4') {\n        local_dc->bHasStat = '\x02';\n      }\n    }\n    else {\n      n = 0;\n      db_00 = local_dc->db;\n      if (local_dc->zContentTbl == (char *)0x0) {\n        pcVar21 = local_dc->zLanguageid;\n        p = (sqlite3_stmt **)sqlite3_mprintf("docid INTEGER PRIMARY KEY");\n        if (p == (sqlite3_stmt **)0x0) {\nLAB_000d0ffd:\n          n = 7;\n          p = (sqlite3_stmt **)0x0;\n        }\n        else {\n          if (0 < local_dc->nColumn) {\n            iVar17 = 0;\n            do {\n              iVar19 = iVar17 + 1;\n              p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);\n              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;\n              iVar17 = iVar19;\n            } while (iVar19 < local_dc->nColumn);\n          }\n          if ((pcVar21 != (char *)0x0) &&\n             (p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0)) goto LAB_000d0ffd;\n        }\n        ppsVar27 = p;\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_content\'(%s)",local_dc->zDb,local_dc->zName,p);\n        sqlite3_free(p);\n      }\n      fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                 local_dc->zDb,local_dc->zName,ppsVar27);\n      fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                 ,local_dc->zDb,local_dc->zName);\n      if (local_dc->bHasDocsize != '\0') {\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                   local_dc->zDb,local_dc->zName);\n      }\n      if (local_dc->bHasStat != '\0') {\n        sqlite3Fts3CreateStatTable(&n,local_dc);\n      }\n      rc = n;\n      if (n != 0) {\n        local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    pcVar21 = sqlite3_mprintf("PRAGMA %Q.page_size",local_dc->zDb);\n    if (pcVar21 == (char *)0x0) {\n      sqlite3_free((void *)0x0);\n      rc = 7;\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    iVar17 = sqlite3_prepare(local_dc->db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0);\n    if (iVar17 == 0) {\n      sqlite3_step((sqlite3_stmt *)n);\n      iVar17 = sqlite3_column_int((sqlite3_stmt *)n,0);\n      local_dc->nPgsz = iVar17;\n      iVar17 = sqlite3_finalize((sqlite3_stmt *)n);\nLAB_000d0420:\n      sqlite3_free(pcVar21);\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n      rc = iVar17;\n      if (iVar17 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (iVar17 != 0x17) goto LAB_000d0420;\n      local_dc->nPgsz = 0x400;\n      sqlite3_free(pcVar21);\n      rc = 0;\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n    }\n    pcVar21 = "__langid";\n    if (local_dc->zLanguageid != (char *)0x0) {\n      pcVar21 = local_dc->zLanguageid;\n    }\n    sqlite3_vtab_config(local_dc->db,1,1);\n    pcVar20 = sqlite3_mprintf("%Q, ",*local_dc->azColumn);\n    if (pcVar20 == (char *)0x0) {\nLAB_000d04d3:\n      pcVar20 = (char *)0x0;\n      iVar17 = 7;\n      pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                                local_dc->zName,pcVar21);\n    }\n    else {\n      if (1 < local_dc->nColumn) {\n        iVar17 = 1;\n        do {\n          ppcVar1 = local_dc->azColumn + iVar17;\n          iVar17 = iVar17 + 1;\n          pcVar20 = sqlite3_mprintf("%z%Q, ",pcVar20,*ppcVar1);\n          if (pcVar20 == (char *)0x0) goto LAB_000d04d3;\n        } while (iVar17 < local_dc->nColumn);\n      }\n      iVar17 = 7;\n      pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",pcVar20,\n                                local_dc->zName,pcVar21);\n      if (pcVar21 != (char *)0x0) {\n        iVar17 = sqlite3_declare_vtab(local_dc->db,pcVar21);\n      }\n    }\n    sqlite3_free(pcVar21);\n    sqlite3_free(pcVar20);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    rc = iVar17;\n  }" { (if_statement "if (isCreate == 0) {\n      if (cVar3 != '4') {\n        local_dc->bHasStat = '\x02';\n      }\n    }\n    else {\n      n = 0;\n      db_00 = local_dc->db;\n      if (local_dc->zContentTbl == (char *)0x0) {\n        pcVar21 = local_dc->zLanguageid;\n        p = (sqlite3_stmt **)sqlite3_mprintf("docid INTEGER PRIMARY KEY");\n        if (p == (sqlite3_stmt **)0x0) {\nLAB_000d0ffd:\n          n = 7;\n          p = (sqlite3_stmt **)0x0;\n        }\n        else {\n          if (0 < local_dc->nColumn) {\n            iVar17 = 0;\n            do {\n              iVar19 = iVar17 + 1;\n              p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);\n              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;\n              iVar17 = iVar19;\n            } while (iVar19 < local_dc->nColumn);\n          }\n          if ((pcVar21 != (char *)0x0) &&\n             (p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0)) goto LAB_000d0ffd;\n        }\n        ppsVar27 = p;\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_content\'(%s)",local_dc->zDb,local_dc->zName,p);\n        sqlite3_free(p);\n      }\n      fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                 local_dc->zDb,local_dc->zName,ppsVar27);\n      fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                 ,local_dc->zDb,local_dc->zName);\n      if (local_dc->bHasDocsize != '\0') {\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                   local_dc->zDb,local_dc->zName);\n      }\n      if (local_dc->bHasStat != '\0') {\n        sqlite3Fts3CreateStatTable(&n,local_dc);\n      }\n      rc = n;\n      if (n != 0) {\n        local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }" if (parenthesized_expression "(isCreate == 0)" ( (binary_expression "isCreate == 0" identifier == number_literal) )) (compound_statement "{\n      if (cVar3 != '4') {\n        local_dc->bHasStat = '\x02';\n      }\n    }" { (if_statement "if (cVar3 != '4') {\n        local_dc->bHasStat = '\x02';\n      }" if (parenthesized_expression "(cVar3 != '4')" ( (binary_expression "cVar3 != '4'" identifier != (char_literal "'4'" ' character ')) )) (compound_statement "{\n        local_dc->bHasStat = '\x02';\n      }" { (expression_statement "local_dc->bHasStat = '\x02';" (assignment_expression "local_dc->bHasStat = '\x02'" (field_expression "local_dc->bHasStat" identifier -> field_identifier) = (char_literal "'\x02'" ' escape_sequence ')) ;) })) }) (else_clause "else {\n      n = 0;\n      db_00 = local_dc->db;\n      if (local_dc->zContentTbl == (char *)0x0) {\n        pcVar21 = local_dc->zLanguageid;\n        p = (sqlite3_stmt **)sqlite3_mprintf("docid INTEGER PRIMARY KEY");\n        if (p == (sqlite3_stmt **)0x0) {\nLAB_000d0ffd:\n          n = 7;\n          p = (sqlite3_stmt **)0x0;\n        }\n        else {\n          if (0 < local_dc->nColumn) {\n            iVar17 = 0;\n            do {\n              iVar19 = iVar17 + 1;\n              p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);\n              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;\n              iVar17 = iVar19;\n            } while (iVar19 < local_dc->nColumn);\n          }\n          if ((pcVar21 != (char *)0x0) &&\n             (p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0)) goto LAB_000d0ffd;\n        }\n        ppsVar27 = p;\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_content\'(%s)",local_dc->zDb,local_dc->zName,p);\n        sqlite3_free(p);\n      }\n      fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                 local_dc->zDb,local_dc->zName,ppsVar27);\n      fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                 ,local_dc->zDb,local_dc->zName);\n      if (local_dc->bHasDocsize != '\0') {\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                   local_dc->zDb,local_dc->zName);\n      }\n      if (local_dc->bHasStat != '\0') {\n        sqlite3Fts3CreateStatTable(&n,local_dc);\n      }\n      rc = n;\n      if (n != 0) {\n        local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }" else (compound_statement "{\n      n = 0;\n      db_00 = local_dc->db;\n      if (local_dc->zContentTbl == (char *)0x0) {\n        pcVar21 = local_dc->zLanguageid;\n        p = (sqlite3_stmt **)sqlite3_mprintf("docid INTEGER PRIMARY KEY");\n        if (p == (sqlite3_stmt **)0x0) {\nLAB_000d0ffd:\n          n = 7;\n          p = (sqlite3_stmt **)0x0;\n        }\n        else {\n          if (0 < local_dc->nColumn) {\n            iVar17 = 0;\n            do {\n              iVar19 = iVar17 + 1;\n              p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);\n              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;\n              iVar17 = iVar19;\n            } while (iVar19 < local_dc->nColumn);\n          }\n          if ((pcVar21 != (char *)0x0) &&\n             (p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0)) goto LAB_000d0ffd;\n        }\n        ppsVar27 = p;\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_content\'(%s)",local_dc->zDb,local_dc->zName,p);\n        sqlite3_free(p);\n      }\n      fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                 local_dc->zDb,local_dc->zName,ppsVar27);\n      fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                 ,local_dc->zDb,local_dc->zName);\n      if (local_dc->bHasDocsize != '\0') {\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                   local_dc->zDb,local_dc->zName);\n      }\n      if (local_dc->bHasStat != '\0') {\n        sqlite3Fts3CreateStatTable(&n,local_dc);\n      }\n      rc = n;\n      if (n != 0) {\n        local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }" { (expression_statement "n = 0;" (assignment_expression "n = 0" identifier = number_literal) ;) (expression_statement "db_00 = local_dc->db;" (assignment_expression "db_00 = local_dc->db" identifier = (field_expression "local_dc->db" identifier -> field_identifier)) ;) (if_statement "if (local_dc->zContentTbl == (char *)0x0) {\n        pcVar21 = local_dc->zLanguageid;\n        p = (sqlite3_stmt **)sqlite3_mprintf("docid INTEGER PRIMARY KEY");\n        if (p == (sqlite3_stmt **)0x0) {\nLAB_000d0ffd:\n          n = 7;\n          p = (sqlite3_stmt **)0x0;\n        }\n        else {\n          if (0 < local_dc->nColumn) {\n            iVar17 = 0;\n            do {\n              iVar19 = iVar17 + 1;\n              p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);\n              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;\n              iVar17 = iVar19;\n            } while (iVar19 < local_dc->nColumn);\n          }\n          if ((pcVar21 != (char *)0x0) &&\n             (p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0)) goto LAB_000d0ffd;\n        }\n        ppsVar27 = p;\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_content\'(%s)",local_dc->zDb,local_dc->zName,p);\n        sqlite3_free(p);\n      }" if (parenthesized_expression "(local_dc->zContentTbl == (char *)0x0)" ( (binary_expression "local_dc->zContentTbl == (char *)0x0" (field_expression "local_dc->zContentTbl" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar21 = local_dc->zLanguageid;\n        p = (sqlite3_stmt **)sqlite3_mprintf("docid INTEGER PRIMARY KEY");\n        if (p == (sqlite3_stmt **)0x0) {\nLAB_000d0ffd:\n          n = 7;\n          p = (sqlite3_stmt **)0x0;\n        }\n        else {\n          if (0 < local_dc->nColumn) {\n            iVar17 = 0;\n            do {\n              iVar19 = iVar17 + 1;\n              p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);\n              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;\n              iVar17 = iVar19;\n            } while (iVar19 < local_dc->nColumn);\n          }\n          if ((pcVar21 != (char *)0x0) &&\n             (p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0)) goto LAB_000d0ffd;\n        }\n        ppsVar27 = p;\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_content\'(%s)",local_dc->zDb,local_dc->zName,p);\n        sqlite3_free(p);\n      }" { (expression_statement "pcVar21 = local_dc->zLanguageid;" (assignment_expression "pcVar21 = local_dc->zLanguageid" identifier = (field_expression "local_dc->zLanguageid" identifier -> field_identifier)) ;) (expression_statement "p = (sqlite3_stmt **)sqlite3_mprintf("docid INTEGER PRIMARY KEY");" (assignment_expression "p = (sqlite3_stmt **)sqlite3_mprintf("docid INTEGER PRIMARY KEY")" identifier = (cast_expression "(sqlite3_stmt **)sqlite3_mprintf("docid INTEGER PRIMARY KEY")" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "sqlite3_mprintf("docid INTEGER PRIMARY KEY")" identifier (argument_list "("docid INTEGER PRIMARY KEY")" ( (string_literal ""docid INTEGER PRIMARY KEY"" " string_content ") ))))) ;) (if_statement "if (p == (sqlite3_stmt **)0x0) {\nLAB_000d0ffd:\n          n = 7;\n          p = (sqlite3_stmt **)0x0;\n        }\n        else {\n          if (0 < local_dc->nColumn) {\n            iVar17 = 0;\n            do {\n              iVar19 = iVar17 + 1;\n              p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);\n              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;\n              iVar17 = iVar19;\n            } while (iVar19 < local_dc->nColumn);\n          }\n          if ((pcVar21 != (char *)0x0) &&\n             (p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0)) goto LAB_000d0ffd;\n        }" if (parenthesized_expression "(p == (sqlite3_stmt **)0x0)" ( (binary_expression "p == (sqlite3_stmt **)0x0" identifier == (cast_expression "(sqlite3_stmt **)0x0" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_000d0ffd:\n          n = 7;\n          p = (sqlite3_stmt **)0x0;\n        }" { (labeled_statement "LAB_000d0ffd:\n          n = 7;" statement_identifier : (expression_statement "n = 7;" (assignment_expression "n = 7" identifier = number_literal) ;)) (expression_statement "p = (sqlite3_stmt **)0x0;" (assignment_expression "p = (sqlite3_stmt **)0x0" identifier = (cast_expression "(sqlite3_stmt **)0x0" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }) (else_clause "else {\n          if (0 < local_dc->nColumn) {\n            iVar17 = 0;\n            do {\n              iVar19 = iVar17 + 1;\n              p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);\n              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;\n              iVar17 = iVar19;\n            } while (iVar19 < local_dc->nColumn);\n          }\n          if ((pcVar21 != (char *)0x0) &&\n             (p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0)) goto LAB_000d0ffd;\n        }" else (compound_statement "{\n          if (0 < local_dc->nColumn) {\n            iVar17 = 0;\n            do {\n              iVar19 = iVar17 + 1;\n              p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);\n              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;\n              iVar17 = iVar19;\n            } while (iVar19 < local_dc->nColumn);\n          }\n          if ((pcVar21 != (char *)0x0) &&\n             (p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0)) goto LAB_000d0ffd;\n        }" { (if_statement "if (0 < local_dc->nColumn) {\n            iVar17 = 0;\n            do {\n              iVar19 = iVar17 + 1;\n              p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);\n              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;\n              iVar17 = iVar19;\n            } while (iVar19 < local_dc->nColumn);\n          }" if (parenthesized_expression "(0 < local_dc->nColumn)" ( (binary_expression "0 < local_dc->nColumn" number_literal < (field_expression "local_dc->nColumn" identifier -> field_identifier)) )) (compound_statement "{\n            iVar17 = 0;\n            do {\n              iVar19 = iVar17 + 1;\n              p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);\n              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;\n              iVar17 = iVar19;\n            } while (iVar19 < local_dc->nColumn);\n          }" { (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar19 = iVar17 + 1;\n              p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);\n              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;\n              iVar17 = iVar19;\n            } while (iVar19 < local_dc->nColumn);" do (compound_statement "{\n              iVar19 = iVar17 + 1;\n              p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);\n              if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;\n              iVar17 = iVar19;\n            }" { (expression_statement "iVar19 = iVar17 + 1;" (assignment_expression "iVar19 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17]);" (assignment_expression "p = (sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17])" identifier = (cast_expression "(sqlite3_stmt **)\n                  sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17])" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "sqlite3_mprintf("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17])" identifier (argument_list "("%z, \'c%d%q\'",p,iVar17,local_dc->azColumn[iVar17])" ( (string_literal ""%z, \'c%d%q\'"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , (subscript_expression "local_dc->azColumn[iVar17]" (field_expression "local_dc->azColumn" identifier -> field_identifier) [ identifier ]) ))))) ;) (if_statement "if (p == (sqlite3_stmt **)0x0) goto LAB_000d0ffd;" if (parenthesized_expression "(p == (sqlite3_stmt **)0x0)" ( (binary_expression "p == (sqlite3_stmt **)0x0" identifier == (cast_expression "(sqlite3_stmt **)0x0" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_000d0ffd;" goto statement_identifier ;)) (expression_statement "iVar17 = iVar19;" (assignment_expression "iVar17 = iVar19" identifier = identifier) ;) }) while (parenthesized_expression "(iVar19 < local_dc->nColumn)" ( (binary_expression "iVar19 < local_dc->nColumn" identifier < (field_expression "local_dc->nColumn" identifier -> field_identifier)) )) ;) })) (if_statement "if ((pcVar21 != (char *)0x0) &&\n             (p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0)) goto LAB_000d0ffd;" if (parenthesized_expression "((pcVar21 != (char *)0x0) &&\n             (p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0))" ( (binary_expression "(pcVar21 != (char *)0x0) &&\n             (p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0)" (parenthesized_expression "(pcVar21 != (char *)0x0)" ( (binary_expression "pcVar21 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0)" ( (comma_expression "p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21),\n             p == (sqlite3_stmt **)0x0" (assignment_expression "p = (sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21)" identifier = (cast_expression "(sqlite3_stmt **)sqlite3_mprintf("%z, langid",p,pcVar21)" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "sqlite3_mprintf("%z, langid",p,pcVar21)" identifier (argument_list "("%z, langid",p,pcVar21)" ( (string_literal ""%z, langid"" " string_content ") , identifier , identifier ))))) , (binary_expression "p == (sqlite3_stmt **)0x0" identifier == (cast_expression "(sqlite3_stmt **)0x0" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ))) )) (goto_statement "goto LAB_000d0ffd;" goto statement_identifier ;)) }))) (expression_statement "ppsVar27 = p;" (assignment_expression "ppsVar27 = p" identifier = identifier) ;) (expression_statement "fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_content\'(%s)",local_dc->zDb,local_dc->zName,p);" (call_expression "fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_content\'(%s)",local_dc->zDb,local_dc->zName,p)" identifier (argument_list "(&n,db_00,"CREATE TABLE %Q.\'%q_content\'(%s)",local_dc->zDb,local_dc->zName,p)" ( (pointer_expression "&n" & identifier) , identifier , (string_literal ""CREATE TABLE %Q.\'%q_content\'(%s)"" " string_content escape_sequence string_content escape_sequence string_content ") , (field_expression "local_dc->zDb" identifier -> field_identifier) , (field_expression "local_dc->zName" identifier -> field_identifier) , identifier ))) ;) (expression_statement "sqlite3_free(p);" (call_expression "sqlite3_free(p)" identifier (argument_list "(p)" ( identifier ))) ;) })) (expression_statement "fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                 local_dc->zDb,local_dc->zName,ppsVar27);" (call_expression "fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                 local_dc->zDb,local_dc->zName,ppsVar27)" identifier (argument_list "(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                 local_dc->zDb,local_dc->zName,ppsVar27)" ( (pointer_expression "&n" & identifier) , identifier , (string_literal ""CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);"" " string_content escape_sequence string_content escape_sequence string_content ") , (field_expression "local_dc->zDb" identifier -> field_identifier) , (field_expression "local_dc->zName" identifier -> field_identifier) , identifier ))) ;) (expression_statement "fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                 ,local_dc->zDb,local_dc->zName);" (call_expression "fts3DbExec(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                 ,local_dc->zDb,local_dc->zName)" identifier (argument_list "(&n,db_00,\n                 "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                 ,local_dc->zDb,local_dc->zName)" ( (pointer_expression "&n" & identifier) , identifier , (string_literal ""CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"" " string_content escape_sequence string_content escape_sequence string_content ") , (field_expression "local_dc->zDb" identifier -> field_identifier) , (field_expression "local_dc->zName" identifier -> field_identifier) ))) ;) (if_statement "if (local_dc->bHasDocsize != '\0') {\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                   local_dc->zDb,local_dc->zName);\n      }" if (parenthesized_expression "(local_dc->bHasDocsize != '\0')" ( (binary_expression "local_dc->bHasDocsize != '\0'" (field_expression "local_dc->bHasDocsize" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                   local_dc->zDb,local_dc->zName);\n      }" { (expression_statement "fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                   local_dc->zDb,local_dc->zName);" (call_expression "fts3DbExec(&n,db_00,"CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                   local_dc->zDb,local_dc->zName)" identifier (argument_list "(&n,db_00,"CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                   local_dc->zDb,local_dc->zName)" ( (pointer_expression "&n" & identifier) , identifier , (string_literal ""CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);"" " string_content escape_sequence string_content escape_sequence string_content ") , (field_expression "local_dc->zDb" identifier -> field_identifier) , (field_expression "local_dc->zName" identifier -> field_identifier) ))) ;) })) (if_statement "if (local_dc->bHasStat != '\0') {\n        sqlite3Fts3CreateStatTable(&n,local_dc);\n      }" if (parenthesized_expression "(local_dc->bHasStat != '\0')" ( (binary_expression "local_dc->bHasStat != '\0'" (field_expression "local_dc->bHasStat" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        sqlite3Fts3CreateStatTable(&n,local_dc);\n      }" { (expression_statement "sqlite3Fts3CreateStatTable(&n,local_dc);" (call_expression "sqlite3Fts3CreateStatTable(&n,local_dc)" identifier (argument_list "(&n,local_dc)" ( (pointer_expression "&n" & identifier) , identifier ))) ;) })) (expression_statement "rc = n;" (assignment_expression "rc = n" identifier = identifier) ;) (if_statement "if (n != 0) {\n        local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n        goto LAB_000d0ab0;\n      }" if (parenthesized_expression "(n != 0)" ( (binary_expression "n != 0" identifier != number_literal) )) (compound_statement "{\n        local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n        goto LAB_000d0ab0;\n      }" { (expression_statement "local_dc->nNodeSize = local_dc->nPgsz + -0x23;" (assignment_expression "local_dc->nNodeSize = local_dc->nPgsz + -0x23" (field_expression "local_dc->nNodeSize" identifier -> field_identifier) = (binary_expression "local_dc->nPgsz + -0x23" (field_expression "local_dc->nPgsz" identifier -> field_identifier) + number_literal)) ;) (goto_statement "goto LAB_000d0ab0;" goto statement_identifier ;) })) }))) (expression_statement "pcVar21 = sqlite3_mprintf("PRAGMA %Q.page_size",local_dc->zDb);" (assignment_expression "pcVar21 = sqlite3_mprintf("PRAGMA %Q.page_size",local_dc->zDb)" identifier = (call_expression "sqlite3_mprintf("PRAGMA %Q.page_size",local_dc->zDb)" identifier (argument_list "("PRAGMA %Q.page_size",local_dc->zDb)" ( (string_literal ""PRAGMA %Q.page_size"" " string_content ") , (field_expression "local_dc->zDb" identifier -> field_identifier) )))) ;) (if_statement "if (pcVar21 == (char *)0x0) {\n      sqlite3_free((void *)0x0);\n      rc = 7;\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(pcVar21 == (char *)0x0)" ( (binary_expression "pcVar21 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sqlite3_free((void *)0x0);\n      rc = 7;\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "sqlite3_free((void *)0x0);" (call_expression "sqlite3_free((void *)0x0)" identifier (argument_list "((void *)0x0)" ( (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (expression_statement "rc = 7;" (assignment_expression "rc = 7" identifier = number_literal) ;) (expression_statement "local_dc->nNodeSize = local_dc->nPgsz + -0x23;" (assignment_expression "local_dc->nNodeSize = local_dc->nPgsz + -0x23" (field_expression "local_dc->nNodeSize" identifier -> field_identifier) = (binary_expression "local_dc->nPgsz + -0x23" (field_expression "local_dc->nPgsz" identifier -> field_identifier) + number_literal)) ;) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) (expression_statement "iVar17 = sqlite3_prepare(local_dc->db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0);" (assignment_expression "iVar17 = sqlite3_prepare(local_dc->db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0)" identifier = (call_expression "sqlite3_prepare(local_dc->db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0)" identifier (argument_list "(local_dc->db,pcVar21,-1,(sqlite3_stmt **)&n,(char **)0x0)" ( (field_expression "local_dc->db" identifier -> field_identifier) , identifier , number_literal , (cast_expression "(sqlite3_stmt **)&n" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&n" & identifier)) , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (if_statement "if (iVar17 == 0) {\n      sqlite3_step((sqlite3_stmt *)n);\n      iVar17 = sqlite3_column_int((sqlite3_stmt *)n,0);\n      local_dc->nPgsz = iVar17;\n      iVar17 = sqlite3_finalize((sqlite3_stmt *)n);\nLAB_000d0420:\n      sqlite3_free(pcVar21);\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n      rc = iVar17;\n      if (iVar17 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (iVar17 != 0x17) goto LAB_000d0420;\n      local_dc->nPgsz = 0x400;\n      sqlite3_free(pcVar21);\n      rc = 0;\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n    }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n      sqlite3_step((sqlite3_stmt *)n);\n      iVar17 = sqlite3_column_int((sqlite3_stmt *)n,0);\n      local_dc->nPgsz = iVar17;\n      iVar17 = sqlite3_finalize((sqlite3_stmt *)n);\nLAB_000d0420:\n      sqlite3_free(pcVar21);\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n      rc = iVar17;\n      if (iVar17 != 0) goto LAB_000d0ab0;\n    }" { (expression_statement "sqlite3_step((sqlite3_stmt *)n);" (call_expression "sqlite3_step((sqlite3_stmt *)n)" identifier (argument_list "((sqlite3_stmt *)n)" ( (cast_expression "(sqlite3_stmt *)n" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "iVar17 = sqlite3_column_int((sqlite3_stmt *)n,0);" (assignment_expression "iVar17 = sqlite3_column_int((sqlite3_stmt *)n,0)" identifier = (call_expression "sqlite3_column_int((sqlite3_stmt *)n,0)" identifier (argument_list "((sqlite3_stmt *)n,0)" ( (cast_expression "(sqlite3_stmt *)n" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (expression_statement "local_dc->nPgsz = iVar17;" (assignment_expression "local_dc->nPgsz = iVar17" (field_expression "local_dc->nPgsz" identifier -> field_identifier) = identifier) ;) (expression_statement "iVar17 = sqlite3_finalize((sqlite3_stmt *)n);" (assignment_expression "iVar17 = sqlite3_finalize((sqlite3_stmt *)n)" identifier = (call_expression "sqlite3_finalize((sqlite3_stmt *)n)" identifier (argument_list "((sqlite3_stmt *)n)" ( (cast_expression "(sqlite3_stmt *)n" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (labeled_statement "LAB_000d0420:\n      sqlite3_free(pcVar21);" statement_identifier : (expression_statement "sqlite3_free(pcVar21);" (call_expression "sqlite3_free(pcVar21)" identifier (argument_list "(pcVar21)" ( identifier ))) ;)) (expression_statement "local_dc->nNodeSize = local_dc->nPgsz + -0x23;" (assignment_expression "local_dc->nNodeSize = local_dc->nPgsz + -0x23" (field_expression "local_dc->nNodeSize" identifier -> field_identifier) = (binary_expression "local_dc->nPgsz + -0x23" (field_expression "local_dc->nPgsz" identifier -> field_identifier) + number_literal)) ;) (expression_statement "rc = iVar17;" (assignment_expression "rc = iVar17" identifier = identifier) ;) (if_statement "if (iVar17 != 0) goto LAB_000d0ab0;" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000d0ab0;" goto statement_identifier ;)) }) (else_clause "else {\n      if (iVar17 != 0x17) goto LAB_000d0420;\n      local_dc->nPgsz = 0x400;\n      sqlite3_free(pcVar21);\n      rc = 0;\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n    }" else (compound_statement "{\n      if (iVar17 != 0x17) goto LAB_000d0420;\n      local_dc->nPgsz = 0x400;\n      sqlite3_free(pcVar21);\n      rc = 0;\n      local_dc->nNodeSize = local_dc->nPgsz + -0x23;\n    }" { (if_statement "if (iVar17 != 0x17) goto LAB_000d0420;" if (parenthesized_expression "(iVar17 != 0x17)" ( (binary_expression "iVar17 != 0x17" identifier != number_literal) )) (goto_statement "goto LAB_000d0420;" goto statement_identifier ;)) (expression_statement "local_dc->nPgsz = 0x400;" (assignment_expression "local_dc->nPgsz = 0x400" (field_expression "local_dc->nPgsz" identifier -> field_identifier) = number_literal) ;) (expression_statement "sqlite3_free(pcVar21);" (call_expression "sqlite3_free(pcVar21)" identifier (argument_list "(pcVar21)" ( identifier ))) ;) (expression_statement "rc = 0;" (assignment_expression "rc = 0" identifier = number_literal) ;) (expression_statement "local_dc->nNodeSize = local_dc->nPgsz + -0x23;" (assignment_expression "local_dc->nNodeSize = local_dc->nPgsz + -0x23" (field_expression "local_dc->nNodeSize" identifier -> field_identifier) = (binary_expression "local_dc->nPgsz + -0x23" (field_expression "local_dc->nPgsz" identifier -> field_identifier) + number_literal)) ;) }))) (expression_statement "pcVar21 = "__langid";" (assignment_expression "pcVar21 = "__langid"" identifier = (string_literal ""__langid"" " string_content ")) ;) (if_statement "if (local_dc->zLanguageid != (char *)0x0) {\n      pcVar21 = local_dc->zLanguageid;\n    }" if (parenthesized_expression "(local_dc->zLanguageid != (char *)0x0)" ( (binary_expression "local_dc->zLanguageid != (char *)0x0" (field_expression "local_dc->zLanguageid" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar21 = local_dc->zLanguageid;\n    }" { (expression_statement "pcVar21 = local_dc->zLanguageid;" (assignment_expression "pcVar21 = local_dc->zLanguageid" identifier = (field_expression "local_dc->zLanguageid" identifier -> field_identifier)) ;) })) (expression_statement "sqlite3_vtab_config(local_dc->db,1,1);" (call_expression "sqlite3_vtab_config(local_dc->db,1,1)" identifier (argument_list "(local_dc->db,1,1)" ( (field_expression "local_dc->db" identifier -> field_identifier) , number_literal , number_literal ))) ;) (expression_statement "pcVar20 = sqlite3_mprintf("%Q, ",*local_dc->azColumn);" (assignment_expression "pcVar20 = sqlite3_mprintf("%Q, ",*local_dc->azColumn)" identifier = (call_expression "sqlite3_mprintf("%Q, ",*local_dc->azColumn)" identifier (argument_list "("%Q, ",*local_dc->azColumn)" ( (string_literal ""%Q, "" " string_content ") , (pointer_expression "*local_dc->azColumn" * (field_expression "local_dc->azColumn" identifier -> field_identifier)) )))) ;) (if_statement "if (pcVar20 == (char *)0x0) {\nLAB_000d04d3:\n      pcVar20 = (char *)0x0;\n      iVar17 = 7;\n      pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                                local_dc->zName,pcVar21);\n    }\n    else {\n      if (1 < local_dc->nColumn) {\n        iVar17 = 1;\n        do {\n          ppcVar1 = local_dc->azColumn + iVar17;\n          iVar17 = iVar17 + 1;\n          pcVar20 = sqlite3_mprintf("%z%Q, ",pcVar20,*ppcVar1);\n          if (pcVar20 == (char *)0x0) goto LAB_000d04d3;\n        } while (iVar17 < local_dc->nColumn);\n      }\n      iVar17 = 7;\n      pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",pcVar20,\n                                local_dc->zName,pcVar21);\n      if (pcVar21 != (char *)0x0) {\n        iVar17 = sqlite3_declare_vtab(local_dc->db,pcVar21);\n      }\n    }" if (parenthesized_expression "(pcVar20 == (char *)0x0)" ( (binary_expression "pcVar20 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000d04d3:\n      pcVar20 = (char *)0x0;\n      iVar17 = 7;\n      pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                                local_dc->zName,pcVar21);\n    }" { (labeled_statement "LAB_000d04d3:\n      pcVar20 = (char *)0x0;" statement_identifier : (expression_statement "pcVar20 = (char *)0x0;" (assignment_expression "pcVar20 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "iVar17 = 7;" (assignment_expression "iVar17 = 7" identifier = number_literal) ;) (expression_statement "pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                                local_dc->zName,pcVar21);" (assignment_expression "pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                                local_dc->zName,pcVar21)" identifier = (call_expression "sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                                local_dc->zName,pcVar21)" identifier (argument_list "("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                                local_dc->zName,pcVar21)" ( (string_literal ""CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)"" " string_content ") , number_literal , (field_expression "local_dc->zName" identifier -> field_identifier) , identifier )))) ;) }) (else_clause "else {\n      if (1 < local_dc->nColumn) {\n        iVar17 = 1;\n        do {\n          ppcVar1 = local_dc->azColumn + iVar17;\n          iVar17 = iVar17 + 1;\n          pcVar20 = sqlite3_mprintf("%z%Q, ",pcVar20,*ppcVar1);\n          if (pcVar20 == (char *)0x0) goto LAB_000d04d3;\n        } while (iVar17 < local_dc->nColumn);\n      }\n      iVar17 = 7;\n      pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",pcVar20,\n                                local_dc->zName,pcVar21);\n      if (pcVar21 != (char *)0x0) {\n        iVar17 = sqlite3_declare_vtab(local_dc->db,pcVar21);\n      }\n    }" else (compound_statement "{\n      if (1 < local_dc->nColumn) {\n        iVar17 = 1;\n        do {\n          ppcVar1 = local_dc->azColumn + iVar17;\n          iVar17 = iVar17 + 1;\n          pcVar20 = sqlite3_mprintf("%z%Q, ",pcVar20,*ppcVar1);\n          if (pcVar20 == (char *)0x0) goto LAB_000d04d3;\n        } while (iVar17 < local_dc->nColumn);\n      }\n      iVar17 = 7;\n      pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",pcVar20,\n                                local_dc->zName,pcVar21);\n      if (pcVar21 != (char *)0x0) {\n        iVar17 = sqlite3_declare_vtab(local_dc->db,pcVar21);\n      }\n    }" { (if_statement "if (1 < local_dc->nColumn) {\n        iVar17 = 1;\n        do {\n          ppcVar1 = local_dc->azColumn + iVar17;\n          iVar17 = iVar17 + 1;\n          pcVar20 = sqlite3_mprintf("%z%Q, ",pcVar20,*ppcVar1);\n          if (pcVar20 == (char *)0x0) goto LAB_000d04d3;\n        } while (iVar17 < local_dc->nColumn);\n      }" if (parenthesized_expression "(1 < local_dc->nColumn)" ( (binary_expression "1 < local_dc->nColumn" number_literal < (field_expression "local_dc->nColumn" identifier -> field_identifier)) )) (compound_statement "{\n        iVar17 = 1;\n        do {\n          ppcVar1 = local_dc->azColumn + iVar17;\n          iVar17 = iVar17 + 1;\n          pcVar20 = sqlite3_mprintf("%z%Q, ",pcVar20,*ppcVar1);\n          if (pcVar20 == (char *)0x0) goto LAB_000d04d3;\n        } while (iVar17 < local_dc->nColumn);\n      }" { (expression_statement "iVar17 = 1;" (assignment_expression "iVar17 = 1" identifier = number_literal) ;) (do_statement "do {\n          ppcVar1 = local_dc->azColumn + iVar17;\n          iVar17 = iVar17 + 1;\n          pcVar20 = sqlite3_mprintf("%z%Q, ",pcVar20,*ppcVar1);\n          if (pcVar20 == (char *)0x0) goto LAB_000d04d3;\n        } while (iVar17 < local_dc->nColumn);" do (compound_statement "{\n          ppcVar1 = local_dc->azColumn + iVar17;\n          iVar17 = iVar17 + 1;\n          pcVar20 = sqlite3_mprintf("%z%Q, ",pcVar20,*ppcVar1);\n          if (pcVar20 == (char *)0x0) goto LAB_000d04d3;\n        }" { (expression_statement "ppcVar1 = local_dc->azColumn + iVar17;" (assignment_expression "ppcVar1 = local_dc->azColumn + iVar17" identifier = (binary_expression "local_dc->azColumn + iVar17" (field_expression "local_dc->azColumn" identifier -> field_identifier) + identifier)) ;) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "pcVar20 = sqlite3_mprintf("%z%Q, ",pcVar20,*ppcVar1);" (assignment_expression "pcVar20 = sqlite3_mprintf("%z%Q, ",pcVar20,*ppcVar1)" identifier = (call_expression "sqlite3_mprintf("%z%Q, ",pcVar20,*ppcVar1)" identifier (argument_list "("%z%Q, ",pcVar20,*ppcVar1)" ( (string_literal ""%z%Q, "" " string_content ") , identifier , (pointer_expression "*ppcVar1" * identifier) )))) ;) (if_statement "if (pcVar20 == (char *)0x0) goto LAB_000d04d3;" if (parenthesized_expression "(pcVar20 == (char *)0x0)" ( (binary_expression "pcVar20 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d04d3;" goto statement_identifier ;)) }) while (parenthesized_expression "(iVar17 < local_dc->nColumn)" ( (binary_expression "iVar17 < local_dc->nColumn" identifier < (field_expression "local_dc->nColumn" identifier -> field_identifier)) )) ;) })) (expression_statement "iVar17 = 7;" (assignment_expression "iVar17 = 7" identifier = number_literal) ;) (expression_statement "pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",pcVar20,\n                                local_dc->zName,pcVar21);" (assignment_expression "pcVar21 = sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",pcVar20,\n                                local_dc->zName,pcVar21)" identifier = (call_expression "sqlite3_mprintf("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",pcVar20,\n                                local_dc->zName,pcVar21)" identifier (argument_list "("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",pcVar20,\n                                local_dc->zName,pcVar21)" ( (string_literal ""CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)"" " string_content ") , identifier , (field_expression "local_dc->zName" identifier -> field_identifier) , identifier )))) ;) (if_statement "if (pcVar21 != (char *)0x0) {\n        iVar17 = sqlite3_declare_vtab(local_dc->db,pcVar21);\n      }" if (parenthesized_expression "(pcVar21 != (char *)0x0)" ( (binary_expression "pcVar21 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar17 = sqlite3_declare_vtab(local_dc->db,pcVar21);\n      }" { (expression_statement "iVar17 = sqlite3_declare_vtab(local_dc->db,pcVar21);" (assignment_expression "iVar17 = sqlite3_declare_vtab(local_dc->db,pcVar21)" identifier = (call_expression "sqlite3_declare_vtab(local_dc->db,pcVar21)" identifier (argument_list "(local_dc->db,pcVar21)" ( (field_expression "local_dc->db" identifier -> field_identifier) , identifier )))) ;) })) }))) (expression_statement "sqlite3_free(pcVar21);" (call_expression "sqlite3_free(pcVar21)" identifier (argument_list "(pcVar21)" ( identifier ))) ;) (expression_statement "sqlite3_free(pcVar20);" (call_expression "sqlite3_free(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "rc = iVar17;" (assignment_expression "rc = iVar17" identifier = identifier) ;) }) (else_clause "else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }" else (compound_statement "{\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }" { (labeled_statement "LAB_000d0ab0:\n    local_9c = (byte *)0x0;" statement_identifier : (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_000cfaef:\n  sqlite3_free(local_a8);" statement_identifier : (expression_statement "sqlite3_free(local_a8);" (call_expression "sqlite3_free(local_a8)" identifier (argument_list "(local_a8)" ( identifier ))) ;)) (expression_statement "sqlite3_free(local_bc);" (call_expression "sqlite3_free(local_bc)" identifier (argument_list "(local_bc)" ( identifier ))) ;) (expression_statement "sqlite3_free(local_a4);" (call_expression "sqlite3_free(local_a4)" identifier (argument_list "(local_a4)" ( identifier ))) ;) (expression_statement "sqlite3_free(local_a0);" (call_expression "sqlite3_free(local_a0)" identifier (argument_list "(local_a0)" ( identifier ))) ;) (expression_statement "sqlite3_free(local_ac);" (call_expression "sqlite3_free(local_ac)" identifier (argument_list "(local_ac)" ( identifier ))) ;) (expression_statement "sqlite3_free(local_9c);" (call_expression "sqlite3_free(local_9c)" identifier (argument_list "(local_9c)" ( identifier ))) ;) (expression_statement "piVar18 = local_c0;" (assignment_expression "piVar18 = local_c0" identifier = identifier) ;) (if_statement "if (local_b0 != 0) {\n    do {\n      piVar22 = piVar18 + 1;\n      sqlite3_free((void *)*piVar18);\n      piVar18 = piVar22;\n    } while (local_c0 + local_b0 != piVar22);\n  }" if (parenthesized_expression "(local_b0 != 0)" ( (binary_expression "local_b0 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      piVar22 = piVar18 + 1;\n      sqlite3_free((void *)*piVar18);\n      piVar18 = piVar22;\n    } while (local_c0 + local_b0 != piVar22);\n  }" { (do_statement "do {\n      piVar22 = piVar18 + 1;\n      sqlite3_free((void *)*piVar18);\n      piVar18 = piVar22;\n    } while (local_c0 + local_b0 != piVar22);" do (compound_statement "{\n      piVar22 = piVar18 + 1;\n      sqlite3_free((void *)*piVar18);\n      piVar18 = piVar22;\n    }" { (expression_statement "piVar22 = piVar18 + 1;" (assignment_expression "piVar22 = piVar18 + 1" identifier = (binary_expression "piVar18 + 1" identifier + number_literal)) ;) (expression_statement "sqlite3_free((void *)*piVar18);" (call_expression "sqlite3_free((void *)*piVar18)" identifier (argument_list "((void *)*piVar18)" ( (cast_expression "(void *)*piVar18" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier)) ))) ;) (expression_statement "piVar18 = piVar22;" (assignment_expression "piVar18 = piVar22" identifier = identifier) ;) }) while (parenthesized_expression "(local_c0 + local_b0 != piVar22)" ( (binary_expression "local_c0 + local_b0 != piVar22" (binary_expression "local_c0 + local_b0" identifier + identifier) != identifier) )) ;) })) (expression_statement "sqlite3_free(local_cc);" (call_expression "sqlite3_free(local_cc)" identifier (argument_list "(local_cc)" ( identifier ))) ;) (expression_statement "sqlite3_free(local_c0);" (call_expression "sqlite3_free(local_c0)" identifier (argument_list "(local_c0)" ( identifier ))) ;) (if_statement "if (rc == 0) {\n    *ppVTab = &local_dc->base;\n  }\n  else if (local_dc == (Fts3Table *)0x0) {\n    if (pTokenizer != (sqlite3_tokenizer *)0x0) {\n      (*pTokenizer->pModule->xDestroy)(pTokenizer);\n    }\n  }\n  else {\n    fts3DisconnectMethod(&local_dc->base);\n  }" if (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) )) (compound_statement "{\n    *ppVTab = &local_dc->base;\n  }" { (expression_statement "*ppVTab = &local_dc->base;" (assignment_expression "*ppVTab = &local_dc->base" (pointer_expression "*ppVTab" * identifier) = (pointer_expression "&local_dc->base" & (field_expression "local_dc->base" identifier -> field_identifier))) ;) }) (else_clause "else if (local_dc == (Fts3Table *)0x0) {\n    if (pTokenizer != (sqlite3_tokenizer *)0x0) {\n      (*pTokenizer->pModule->xDestroy)(pTokenizer);\n    }\n  }\n  else {\n    fts3DisconnectMethod(&local_dc->base);\n  }" else (if_statement "if (local_dc == (Fts3Table *)0x0) {\n    if (pTokenizer != (sqlite3_tokenizer *)0x0) {\n      (*pTokenizer->pModule->xDestroy)(pTokenizer);\n    }\n  }\n  else {\n    fts3DisconnectMethod(&local_dc->base);\n  }" if (parenthesized_expression "(local_dc == (Fts3Table *)0x0)" ( (binary_expression "local_dc == (Fts3Table *)0x0" identifier == (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (pTokenizer != (sqlite3_tokenizer *)0x0) {\n      (*pTokenizer->pModule->xDestroy)(pTokenizer);\n    }\n  }" { (if_statement "if (pTokenizer != (sqlite3_tokenizer *)0x0) {\n      (*pTokenizer->pModule->xDestroy)(pTokenizer);\n    }" if (parenthesized_expression "(pTokenizer != (sqlite3_tokenizer *)0x0)" ( (binary_expression "pTokenizer != (sqlite3_tokenizer *)0x0" identifier != (cast_expression "(sqlite3_tokenizer *)0x0" ( (type_descriptor "sqlite3_tokenizer *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*pTokenizer->pModule->xDestroy)(pTokenizer);\n    }" { (expression_statement "(*pTokenizer->pModule->xDestroy)(pTokenizer);" (call_expression "(*pTokenizer->pModule->xDestroy)(pTokenizer)" (parenthesized_expression "(*pTokenizer->pModule->xDestroy)" ( (pointer_expression "*pTokenizer->pModule->xDestroy" * (field_expression "pTokenizer->pModule->xDestroy" (field_expression "pTokenizer->pModule" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(pTokenizer)" ( identifier ))) ;) })) }) (else_clause "else {\n    fts3DisconnectMethod(&local_dc->base);\n  }" else (compound_statement "{\n    fts3DisconnectMethod(&local_dc->base);\n  }" { (expression_statement "fts3DisconnectMethod(&local_dc->base);" (call_expression "fts3DisconnectMethod(&local_dc->base)" identifier (argument_list "(&local_dc->base)" ( (pointer_expression "&local_dc->base" & (field_expression "local_dc->base" identifier -> field_identifier)) ))) ;) }))))) (if_statement "if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return rc;\n  }" if (parenthesized_expression "(iVar2 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar2 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return rc;\n  }" { (return_statement "return rc;" return identifier ;) })) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "size_t __regparm2\nFUN_000cf860(int param_1,undefined4 param_2,int param_3,int *param_4,undefined4 *param_5,\n            undefined4 param_6)\n\n{\n  char cVar1;\n  char cVar2;\n  byte bVar3;\n  byte bVar4;\n  size_t sVar5;\n  size_t sVar6;\n  size_t sVar7;\n  int iVar8;\n  char *pcVar9;\n  void *pvVar10;\n  size_t sVar11;\n  undefined *puVar12;\n  char *pcVar13;\n  undefined4 *puVar14;\n  uint uVar15;\n  size_t *psVar16;\n  undefined4 uVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  int iVar21;\n  int *piVar22;\n  int iVar23;\n  void *pvVar24;\n  int *piVar25;\n  int iVar26;\n  undefined4 *puVar27;\n  int in_GS_OFFSET;\n  bool bVar28;\n  bool bVar29;\n  size_t *psVar30;\n  void *local_dc;\n  undefined *local_d0;\n  undefined4 *local_cc;\n  undefined *local_c8;\n  int *local_c0;\n  undefined4 *local_bc;\n  int local_b8;\n  undefined *local_b4;\n  int local_b0;\n  byte *local_ac;\n  byte *local_a8;\n  byte *local_a4;\n  byte *local_a0;\n  byte *local_9c;\n  size_t local_80;\n  size_t local_6c;\n  int *local_68;\n  size_t local_64;\n  char *local_60;\n  int local_5c;\n  char *local_58;\n  int local_54;\n  char *local_50;\n  undefined4 local_4c;\n  char *local_48;\n  undefined4 local_44;\n  char *local_40;\n  undefined4 local_3c;\n  char *local_38;\n  undefined4 local_34;\n  char *local_30;\n  undefined4 local_2c;\n  char *local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xcf86b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_6c = 0;\n  cVar1 = *(char *)(*param_4 + 3);\n  local_68 = (int *)0x0;\n  sVar5 = strlen((char *)param_4[1]);\n  sVar6 = strlen((char *)param_4[2]);\n  sVar7 = param_3 * 4 - 8;\n  local_cc = (undefined4 *)FUN_0003f0c0(sVar7,0);\n  if (local_cc != (undefined4 *)0x0) {\n    memset(local_cc,0,sVar7);\n    local_c0 = (int *)FUN_0003f0c0(sVar7,0);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }\n  local_6c = 7;\n  local_c0 = (int *)0x0;\n  local_bc = (undefined4 *)0x0;\n  local_b0 = 0;\n  local_9c = (byte *)0x0;\n  local_ac = (byte *)0x0;\n  local_a0 = (byte *)0x0;\n  local_a4 = (byte *)0x0;\n  local_a8 = (byte *)0x0;\n  local_dc = (void *)0x0;\n  goto LAB_000cfaef;\nLAB_000d0688:\n  FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13);\n  local_6c = 1;\nLAB_000d06b8:\n  FUN_00024cc0(pbVar20);\nLAB_000cfa0c:\n  bVar28 = local_6c == 0;\n  if (param_3 <= iVar23 || !bVar28) goto LAB_000cfd03;\n  goto LAB_000cfa14;\nLAB_000d08d0:\n  iVar23 = iVar23 + 1;\n  if (iVar23 == iVar21) goto LAB_000cfd38;\n  goto LAB_000d08db;\nLAB_000cfd03:\n  if ((local_ac == (byte *)0x0) || (!bVar28)) {\nLAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }\n  FUN_00024cc0(local_a4);\n  FUN_00024cc0(local_a0);\n  if (iVar21 == 0) {\n    FUN_00024cc0(local_cc);\n    local_64 = 0;\n    iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);\n    if (sVar7 != 0) {\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    FUN_00024cc0(iVar21);\n    iVar21 = FUN_0001bb40(local_64);\n    if (iVar21 < 1) {\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }\n  }\n  else {\nLAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    local_6c = 0;\n  }\n  if (local_68 == (int *)0x0) {\n    local_6c = FUN_00076a00(param_6);\n    local_bc = (undefined4 *)0x0;\n    if (local_6c != 0) {\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n  }\n  if (local_a8 == (byte *)0x0) {\n    local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar15 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    local_6c = 0;\n    iVar23 = 6;\n    local_80 = 1;\n    local_b4 = (undefined *)0x1;\n  }\n  else {\n    bVar4 = *local_a8;\n    if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }\n    local_6c = 0;\n    local_b4 = (undefined *)local_80;\n  }\nLAB_000cfe77:\n  sVar5 = sVar5 + 1;\n  sVar6 = sVar6 + 1;\n  sVar7 = sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c;\n  local_dc = (void *)FUN_0003f0c0(sVar7,0);\n  if (local_dc == (void *)0x0) {\n    local_6c = 7;\n    goto LAB_000cfaef;\n  }\n  bVar28 = cVar1 == '4';\n  memset(local_dc,0,sVar7);\n  *(int *)((int)local_dc + 0x18) = iVar21;\n  *(undefined4 *)((int)local_dc + 0x30) = 0xff;\n  *(int **)((int)local_dc + 0x24) = local_68;\n  *(undefined4 *)((int)local_dc + 0xc) = param_2;\n  *(int *)((int)local_dc + 0x1c) = (int)local_dc + 0x11c;\n  *(bool *)((int)local_dc + 0xe9) = bVar28;\n  *(bool *)((int)local_dc + 0xe8) = bVar28;\n  *(byte *)((int)local_dc + 0xea) = (bVar3 ^ 1) & bVar28;\n  *(bool *)((int)local_dc + 0xeb) = bVar29;\n  *(undefined4 *)((int)local_dc + 0x108) = 0;\n  *(undefined4 *)((int)local_dc + 0x104) = 0x100000;\n  *(byte **)((int)local_dc + 0x28) = local_ac;\n  *(byte **)((int)local_dc + 0x2c) = local_9c;\n  pvVar10 = (void *)((int)local_dc + 0x11c + iVar21 * 4);\n  *(void **)((int)local_dc + 0x100) = pvVar10;\n  memcpy(pvVar10,local_bc,local_80 * 0x18);\n  sVar7 = 0;\n  *(undefined **)((int)local_dc + 0xfc) = local_b4;\n  if (local_b4 != (undefined *)0x0) {\n    do {\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    } while (local_b4 != (undefined *)sVar11);\n  }\n  iVar23 = local_80 * 0x18 + *(int *)((int)local_dc + 0x100);\n  *(int *)((int)local_dc + 0x20) = iVar23;\n  pvVar10 = (void *)(iVar23 + iVar21);\n  *(void **)((int)local_dc + 0x14) = pvVar10;\n  pvVar24 = (void *)((int)pvVar10 + sVar6);\n  memcpy(pvVar10,(void *)param_4[2],sVar6);\n  *(void **)((int)local_dc + 0x10) = pvVar24;\n  pvVar10 = (void *)((int)pvVar24 + sVar5);\n  iVar23 = 0;\n  memcpy(pvVar24,(void *)param_4[1],sVar5);\n  if (0 < iVar21) {\n    do {\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    } while (iVar21 * 4 != iVar23);\n    local_c8 = (undefined *)0x0;\n    do {\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    } while (local_c8 != (undefined *)iVar21);\n  }\n  piVar22 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    } while (local_c0 + local_b0 != piVar22);\n  }\n  if ((local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {\n    local_6c = 1;\n    pcVar13 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar13 = "compress";\n    }\n    FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);\n  }\n  local_64 = 0;\n  if (*(int *)((int)local_dc + 0x28) == 0) {\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }\n    else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }\n    iVar21 = 0;\n    FUN_00076c30(&local_6c,&local_64,"docid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }\n    FUN_00024cc0(local_b4);\n  }\n  else {\n    FUN_00076c30(&local_6c,&local_64,"rowid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }\n  }\n  iVar21 = *(int *)((int)local_dc + 0x28);\n  if (iVar21 == 0) {\n    pcVar13 = "_content";\n    iVar21 = *(int *)((int)local_dc + 0x14);\n  }\n  else {\n    pcVar13 = "";\n  }\n  FUN_00076c30(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",\n               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13);\n  *(size_t *)((int)local_dc + 0xdc) = local_64;\n  local_64 = 0;\n  if (local_a4 == (byte *)0x0) {\n    local_c8 = (undefined *)0x0;\n    puVar12 = &DAT_000f50ff;\n  }\n  else {\n    puVar12 = (undefined *)FUN_00041e40();\n    local_c8 = puVar12;\n  }\n  iVar21 = 0;\n  psVar30 = &local_64;\n  FUN_00076c30(&local_6c,&local_64,&DAT_000f8342);\n  if (0 < *(int *)((int)local_dc + 0x18)) {\n    do {\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    } while (iVar21 < *(int *)((int)local_dc + 0x18));\n  }\n  if (*(int *)((int)local_dc + 0x2c) != 0) {\n    psVar30 = &local_64;\n    FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);\n  }\n  FUN_00024cc0(local_c8);\n  *(size_t *)((int)local_dc + 0xe0) = local_64;\n  if (local_6c == 0) {\n    if (param_1 == 0) {\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }\n    else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);\n    if (sVar7 == 0) {\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }\n    pcVar13 = "__langid";\n    if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }\n    FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);\n    iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));\n    if (iVar21 == 0) {\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }\n    else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }\n    FUN_00024cc0(iVar23);\n    FUN_00024cc0(iVar21);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    local_6c = sVar7;\n  }\n  else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }\nLAB_000cfaef:\n  FUN_00024cc0(local_a8);\n  FUN_00024cc0(local_bc);\n  FUN_00024cc0(local_a4);\n  FUN_00024cc0(local_a0);\n  FUN_00024cc0(local_ac);\n  FUN_00024cc0(local_9c);\n  piVar22 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    } while (local_c0 + local_b0 != piVar25);\n  }\n  FUN_00024cc0(local_cc);\n  FUN_00024cc0(local_c0);\n  if (local_6c == 0) {\n    *param_5 = local_dc;\n  }\n  else if (local_dc == (void *)0x0) {\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }\n  else {\n    FUN_0008cf60(local_dc);\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_6c;\n  }\n                    \n  FUN_000f4bf0();\n}\n\n" (function_definition "size_t __regparm2\nFUN_000cf860(int param_1,undefined4 param_2,int param_3,int *param_4,undefined4 *param_5,\n            undefined4 param_6)\n\n{\n  char cVar1;\n  char cVar2;\n  byte bVar3;\n  byte bVar4;\n  size_t sVar5;\n  size_t sVar6;\n  size_t sVar7;\n  int iVar8;\n  char *pcVar9;\n  void *pvVar10;\n  size_t sVar11;\n  undefined *puVar12;\n  char *pcVar13;\n  undefined4 *puVar14;\n  uint uVar15;\n  size_t *psVar16;\n  undefined4 uVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  int iVar21;\n  int *piVar22;\n  int iVar23;\n  void *pvVar24;\n  int *piVar25;\n  int iVar26;\n  undefined4 *puVar27;\n  int in_GS_OFFSET;\n  bool bVar28;\n  bool bVar29;\n  size_t *psVar30;\n  void *local_dc;\n  undefined *local_d0;\n  undefined4 *local_cc;\n  undefined *local_c8;\n  int *local_c0;\n  undefined4 *local_bc;\n  int local_b8;\n  undefined *local_b4;\n  int local_b0;\n  byte *local_ac;\n  byte *local_a8;\n  byte *local_a4;\n  byte *local_a0;\n  byte *local_9c;\n  size_t local_80;\n  size_t local_6c;\n  int *local_68;\n  size_t local_64;\n  char *local_60;\n  int local_5c;\n  char *local_58;\n  int local_54;\n  char *local_50;\n  undefined4 local_4c;\n  char *local_48;\n  undefined4 local_44;\n  char *local_40;\n  undefined4 local_3c;\n  char *local_38;\n  undefined4 local_34;\n  char *local_30;\n  undefined4 local_2c;\n  char *local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xcf86b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_6c = 0;\n  cVar1 = *(char *)(*param_4 + 3);\n  local_68 = (int *)0x0;\n  sVar5 = strlen((char *)param_4[1]);\n  sVar6 = strlen((char *)param_4[2]);\n  sVar7 = param_3 * 4 - 8;\n  local_cc = (undefined4 *)FUN_0003f0c0(sVar7,0);\n  if (local_cc != (undefined4 *)0x0) {\n    memset(local_cc,0,sVar7);\n    local_c0 = (int *)FUN_0003f0c0(sVar7,0);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }\n  local_6c = 7;\n  local_c0 = (int *)0x0;\n  local_bc = (undefined4 *)0x0;\n  local_b0 = 0;\n  local_9c = (byte *)0x0;\n  local_ac = (byte *)0x0;\n  local_a0 = (byte *)0x0;\n  local_a4 = (byte *)0x0;\n  local_a8 = (byte *)0x0;\n  local_dc = (void *)0x0;\n  goto LAB_000cfaef;\nLAB_000d0688:\n  FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13);\n  local_6c = 1;\nLAB_000d06b8:\n  FUN_00024cc0(pbVar20);\nLAB_000cfa0c:\n  bVar28 = local_6c == 0;\n  if (param_3 <= iVar23 || !bVar28) goto LAB_000cfd03;\n  goto LAB_000cfa14;\nLAB_000d08d0:\n  iVar23 = iVar23 + 1;\n  if (iVar23 == iVar21) goto LAB_000cfd38;\n  goto LAB_000d08db;\nLAB_000cfd03:\n  if ((local_ac == (byte *)0x0) || (!bVar28)) {\nLAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }\n  FUN_00024cc0(local_a4);\n  FUN_00024cc0(local_a0);\n  if (iVar21 == 0) {\n    FUN_00024cc0(local_cc);\n    local_64 = 0;\n    iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);\n    if (sVar7 != 0) {\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    FUN_00024cc0(iVar21);\n    iVar21 = FUN_0001bb40(local_64);\n    if (iVar21 < 1) {\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }\n  }\n  else {\nLAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    local_6c = 0;\n  }\n  if (local_68 == (int *)0x0) {\n    local_6c = FUN_00076a00(param_6);\n    local_bc = (undefined4 *)0x0;\n    if (local_6c != 0) {\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n  }\n  if (local_a8 == (byte *)0x0) {\n    local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar15 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    local_6c = 0;\n    iVar23 = 6;\n    local_80 = 1;\n    local_b4 = (undefined *)0x1;\n  }\n  else {\n    bVar4 = *local_a8;\n    if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }\n    local_6c = 0;\n    local_b4 = (undefined *)local_80;\n  }\nLAB_000cfe77:\n  sVar5 = sVar5 + 1;\n  sVar6 = sVar6 + 1;\n  sVar7 = sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c;\n  local_dc = (void *)FUN_0003f0c0(sVar7,0);\n  if (local_dc == (void *)0x0) {\n    local_6c = 7;\n    goto LAB_000cfaef;\n  }\n  bVar28 = cVar1 == '4';\n  memset(local_dc,0,sVar7);\n  *(int *)((int)local_dc + 0x18) = iVar21;\n  *(undefined4 *)((int)local_dc + 0x30) = 0xff;\n  *(int **)((int)local_dc + 0x24) = local_68;\n  *(undefined4 *)((int)local_dc + 0xc) = param_2;\n  *(int *)((int)local_dc + 0x1c) = (int)local_dc + 0x11c;\n  *(bool *)((int)local_dc + 0xe9) = bVar28;\n  *(bool *)((int)local_dc + 0xe8) = bVar28;\n  *(byte *)((int)local_dc + 0xea) = (bVar3 ^ 1) & bVar28;\n  *(bool *)((int)local_dc + 0xeb) = bVar29;\n  *(undefined4 *)((int)local_dc + 0x108) = 0;\n  *(undefined4 *)((int)local_dc + 0x104) = 0x100000;\n  *(byte **)((int)local_dc + 0x28) = local_ac;\n  *(byte **)((int)local_dc + 0x2c) = local_9c;\n  pvVar10 = (void *)((int)local_dc + 0x11c + iVar21 * 4);\n  *(void **)((int)local_dc + 0x100) = pvVar10;\n  memcpy(pvVar10,local_bc,local_80 * 0x18);\n  sVar7 = 0;\n  *(undefined **)((int)local_dc + 0xfc) = local_b4;\n  if (local_b4 != (undefined *)0x0) {\n    do {\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    } while (local_b4 != (undefined *)sVar11);\n  }\n  iVar23 = local_80 * 0x18 + *(int *)((int)local_dc + 0x100);\n  *(int *)((int)local_dc + 0x20) = iVar23;\n  pvVar10 = (void *)(iVar23 + iVar21);\n  *(void **)((int)local_dc + 0x14) = pvVar10;\n  pvVar24 = (void *)((int)pvVar10 + sVar6);\n  memcpy(pvVar10,(void *)param_4[2],sVar6);\n  *(void **)((int)local_dc + 0x10) = pvVar24;\n  pvVar10 = (void *)((int)pvVar24 + sVar5);\n  iVar23 = 0;\n  memcpy(pvVar24,(void *)param_4[1],sVar5);\n  if (0 < iVar21) {\n    do {\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    } while (iVar21 * 4 != iVar23);\n    local_c8 = (undefined *)0x0;\n    do {\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    } while (local_c8 != (undefined *)iVar21);\n  }\n  piVar22 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    } while (local_c0 + local_b0 != piVar22);\n  }\n  if ((local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {\n    local_6c = 1;\n    pcVar13 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar13 = "compress";\n    }\n    FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);\n  }\n  local_64 = 0;\n  if (*(int *)((int)local_dc + 0x28) == 0) {\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }\n    else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }\n    iVar21 = 0;\n    FUN_00076c30(&local_6c,&local_64,"docid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }\n    FUN_00024cc0(local_b4);\n  }\n  else {\n    FUN_00076c30(&local_6c,&local_64,"rowid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }\n  }\n  iVar21 = *(int *)((int)local_dc + 0x28);\n  if (iVar21 == 0) {\n    pcVar13 = "_content";\n    iVar21 = *(int *)((int)local_dc + 0x14);\n  }\n  else {\n    pcVar13 = "";\n  }\n  FUN_00076c30(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",\n               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13);\n  *(size_t *)((int)local_dc + 0xdc) = local_64;\n  local_64 = 0;\n  if (local_a4 == (byte *)0x0) {\n    local_c8 = (undefined *)0x0;\n    puVar12 = &DAT_000f50ff;\n  }\n  else {\n    puVar12 = (undefined *)FUN_00041e40();\n    local_c8 = puVar12;\n  }\n  iVar21 = 0;\n  psVar30 = &local_64;\n  FUN_00076c30(&local_6c,&local_64,&DAT_000f8342);\n  if (0 < *(int *)((int)local_dc + 0x18)) {\n    do {\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    } while (iVar21 < *(int *)((int)local_dc + 0x18));\n  }\n  if (*(int *)((int)local_dc + 0x2c) != 0) {\n    psVar30 = &local_64;\n    FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);\n  }\n  FUN_00024cc0(local_c8);\n  *(size_t *)((int)local_dc + 0xe0) = local_64;\n  if (local_6c == 0) {\n    if (param_1 == 0) {\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }\n    else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);\n    if (sVar7 == 0) {\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }\n    pcVar13 = "__langid";\n    if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }\n    FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);\n    iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));\n    if (iVar21 == 0) {\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }\n    else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }\n    FUN_00024cc0(iVar23);\n    FUN_00024cc0(iVar21);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    local_6c = sVar7;\n  }\n  else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }\nLAB_000cfaef:\n  FUN_00024cc0(local_a8);\n  FUN_00024cc0(local_bc);\n  FUN_00024cc0(local_a4);\n  FUN_00024cc0(local_a0);\n  FUN_00024cc0(local_ac);\n  FUN_00024cc0(local_9c);\n  piVar22 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    } while (local_c0 + local_b0 != piVar25);\n  }\n  FUN_00024cc0(local_cc);\n  FUN_00024cc0(local_c0);\n  if (local_6c == 0) {\n    *param_5 = local_dc;\n  }\n  else if (local_dc == (void *)0x0) {\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }\n  else {\n    FUN_0008cf60(local_dc);\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_6c;\n  }\n                    \n  FUN_000f4bf0();\n}" primitive_type (ERROR "__regparm2" identifier) (function_declarator "FUN_000cf860(int param_1,undefined4 param_2,int param_3,int *param_4,undefined4 *param_5,\n            undefined4 param_6)" identifier (parameter_list "(int param_1,undefined4 param_2,int param_3,int *param_4,undefined4 *param_5,\n            undefined4 param_6)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "undefined4 param_6" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  char cVar2;\n  byte bVar3;\n  byte bVar4;\n  size_t sVar5;\n  size_t sVar6;\n  size_t sVar7;\n  int iVar8;\n  char *pcVar9;\n  void *pvVar10;\n  size_t sVar11;\n  undefined *puVar12;\n  char *pcVar13;\n  undefined4 *puVar14;\n  uint uVar15;\n  size_t *psVar16;\n  undefined4 uVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  int iVar21;\n  int *piVar22;\n  int iVar23;\n  void *pvVar24;\n  int *piVar25;\n  int iVar26;\n  undefined4 *puVar27;\n  int in_GS_OFFSET;\n  bool bVar28;\n  bool bVar29;\n  size_t *psVar30;\n  void *local_dc;\n  undefined *local_d0;\n  undefined4 *local_cc;\n  undefined *local_c8;\n  int *local_c0;\n  undefined4 *local_bc;\n  int local_b8;\n  undefined *local_b4;\n  int local_b0;\n  byte *local_ac;\n  byte *local_a8;\n  byte *local_a4;\n  byte *local_a0;\n  byte *local_9c;\n  size_t local_80;\n  size_t local_6c;\n  int *local_68;\n  size_t local_64;\n  char *local_60;\n  int local_5c;\n  char *local_58;\n  int local_54;\n  char *local_50;\n  undefined4 local_4c;\n  char *local_48;\n  undefined4 local_44;\n  char *local_40;\n  undefined4 local_3c;\n  char *local_38;\n  undefined4 local_34;\n  char *local_30;\n  undefined4 local_2c;\n  char *local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xcf86b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_6c = 0;\n  cVar1 = *(char *)(*param_4 + 3);\n  local_68 = (int *)0x0;\n  sVar5 = strlen((char *)param_4[1]);\n  sVar6 = strlen((char *)param_4[2]);\n  sVar7 = param_3 * 4 - 8;\n  local_cc = (undefined4 *)FUN_0003f0c0(sVar7,0);\n  if (local_cc != (undefined4 *)0x0) {\n    memset(local_cc,0,sVar7);\n    local_c0 = (int *)FUN_0003f0c0(sVar7,0);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }\n  local_6c = 7;\n  local_c0 = (int *)0x0;\n  local_bc = (undefined4 *)0x0;\n  local_b0 = 0;\n  local_9c = (byte *)0x0;\n  local_ac = (byte *)0x0;\n  local_a0 = (byte *)0x0;\n  local_a4 = (byte *)0x0;\n  local_a8 = (byte *)0x0;\n  local_dc = (void *)0x0;\n  goto LAB_000cfaef;\nLAB_000d0688:\n  FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13);\n  local_6c = 1;\nLAB_000d06b8:\n  FUN_00024cc0(pbVar20);\nLAB_000cfa0c:\n  bVar28 = local_6c == 0;\n  if (param_3 <= iVar23 || !bVar28) goto LAB_000cfd03;\n  goto LAB_000cfa14;\nLAB_000d08d0:\n  iVar23 = iVar23 + 1;\n  if (iVar23 == iVar21) goto LAB_000cfd38;\n  goto LAB_000d08db;\nLAB_000cfd03:\n  if ((local_ac == (byte *)0x0) || (!bVar28)) {\nLAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }\n  FUN_00024cc0(local_a4);\n  FUN_00024cc0(local_a0);\n  if (iVar21 == 0) {\n    FUN_00024cc0(local_cc);\n    local_64 = 0;\n    iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);\n    if (sVar7 != 0) {\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    FUN_00024cc0(iVar21);\n    iVar21 = FUN_0001bb40(local_64);\n    if (iVar21 < 1) {\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }\n  }\n  else {\nLAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    local_6c = 0;\n  }\n  if (local_68 == (int *)0x0) {\n    local_6c = FUN_00076a00(param_6);\n    local_bc = (undefined4 *)0x0;\n    if (local_6c != 0) {\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n  }\n  if (local_a8 == (byte *)0x0) {\n    local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar15 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    local_6c = 0;\n    iVar23 = 6;\n    local_80 = 1;\n    local_b4 = (undefined *)0x1;\n  }\n  else {\n    bVar4 = *local_a8;\n    if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }\n    local_6c = 0;\n    local_b4 = (undefined *)local_80;\n  }\nLAB_000cfe77:\n  sVar5 = sVar5 + 1;\n  sVar6 = sVar6 + 1;\n  sVar7 = sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c;\n  local_dc = (void *)FUN_0003f0c0(sVar7,0);\n  if (local_dc == (void *)0x0) {\n    local_6c = 7;\n    goto LAB_000cfaef;\n  }\n  bVar28 = cVar1 == '4';\n  memset(local_dc,0,sVar7);\n  *(int *)((int)local_dc + 0x18) = iVar21;\n  *(undefined4 *)((int)local_dc + 0x30) = 0xff;\n  *(int **)((int)local_dc + 0x24) = local_68;\n  *(undefined4 *)((int)local_dc + 0xc) = param_2;\n  *(int *)((int)local_dc + 0x1c) = (int)local_dc + 0x11c;\n  *(bool *)((int)local_dc + 0xe9) = bVar28;\n  *(bool *)((int)local_dc + 0xe8) = bVar28;\n  *(byte *)((int)local_dc + 0xea) = (bVar3 ^ 1) & bVar28;\n  *(bool *)((int)local_dc + 0xeb) = bVar29;\n  *(undefined4 *)((int)local_dc + 0x108) = 0;\n  *(undefined4 *)((int)local_dc + 0x104) = 0x100000;\n  *(byte **)((int)local_dc + 0x28) = local_ac;\n  *(byte **)((int)local_dc + 0x2c) = local_9c;\n  pvVar10 = (void *)((int)local_dc + 0x11c + iVar21 * 4);\n  *(void **)((int)local_dc + 0x100) = pvVar10;\n  memcpy(pvVar10,local_bc,local_80 * 0x18);\n  sVar7 = 0;\n  *(undefined **)((int)local_dc + 0xfc) = local_b4;\n  if (local_b4 != (undefined *)0x0) {\n    do {\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    } while (local_b4 != (undefined *)sVar11);\n  }\n  iVar23 = local_80 * 0x18 + *(int *)((int)local_dc + 0x100);\n  *(int *)((int)local_dc + 0x20) = iVar23;\n  pvVar10 = (void *)(iVar23 + iVar21);\n  *(void **)((int)local_dc + 0x14) = pvVar10;\n  pvVar24 = (void *)((int)pvVar10 + sVar6);\n  memcpy(pvVar10,(void *)param_4[2],sVar6);\n  *(void **)((int)local_dc + 0x10) = pvVar24;\n  pvVar10 = (void *)((int)pvVar24 + sVar5);\n  iVar23 = 0;\n  memcpy(pvVar24,(void *)param_4[1],sVar5);\n  if (0 < iVar21) {\n    do {\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    } while (iVar21 * 4 != iVar23);\n    local_c8 = (undefined *)0x0;\n    do {\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    } while (local_c8 != (undefined *)iVar21);\n  }\n  piVar22 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    } while (local_c0 + local_b0 != piVar22);\n  }\n  if ((local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {\n    local_6c = 1;\n    pcVar13 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar13 = "compress";\n    }\n    FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);\n  }\n  local_64 = 0;\n  if (*(int *)((int)local_dc + 0x28) == 0) {\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }\n    else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }\n    iVar21 = 0;\n    FUN_00076c30(&local_6c,&local_64,"docid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }\n    FUN_00024cc0(local_b4);\n  }\n  else {\n    FUN_00076c30(&local_6c,&local_64,"rowid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }\n  }\n  iVar21 = *(int *)((int)local_dc + 0x28);\n  if (iVar21 == 0) {\n    pcVar13 = "_content";\n    iVar21 = *(int *)((int)local_dc + 0x14);\n  }\n  else {\n    pcVar13 = "";\n  }\n  FUN_00076c30(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",\n               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13);\n  *(size_t *)((int)local_dc + 0xdc) = local_64;\n  local_64 = 0;\n  if (local_a4 == (byte *)0x0) {\n    local_c8 = (undefined *)0x0;\n    puVar12 = &DAT_000f50ff;\n  }\n  else {\n    puVar12 = (undefined *)FUN_00041e40();\n    local_c8 = puVar12;\n  }\n  iVar21 = 0;\n  psVar30 = &local_64;\n  FUN_00076c30(&local_6c,&local_64,&DAT_000f8342);\n  if (0 < *(int *)((int)local_dc + 0x18)) {\n    do {\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    } while (iVar21 < *(int *)((int)local_dc + 0x18));\n  }\n  if (*(int *)((int)local_dc + 0x2c) != 0) {\n    psVar30 = &local_64;\n    FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);\n  }\n  FUN_00024cc0(local_c8);\n  *(size_t *)((int)local_dc + 0xe0) = local_64;\n  if (local_6c == 0) {\n    if (param_1 == 0) {\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }\n    else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);\n    if (sVar7 == 0) {\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }\n    pcVar13 = "__langid";\n    if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }\n    FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);\n    iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));\n    if (iVar21 == 0) {\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }\n    else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }\n    FUN_00024cc0(iVar23);\n    FUN_00024cc0(iVar21);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    local_6c = sVar7;\n  }\n  else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }\nLAB_000cfaef:\n  FUN_00024cc0(local_a8);\n  FUN_00024cc0(local_bc);\n  FUN_00024cc0(local_a4);\n  FUN_00024cc0(local_a0);\n  FUN_00024cc0(local_ac);\n  FUN_00024cc0(local_9c);\n  piVar22 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    } while (local_c0 + local_b0 != piVar25);\n  }\n  FUN_00024cc0(local_cc);\n  FUN_00024cc0(local_c0);\n  if (local_6c == 0) {\n    *param_5 = local_dc;\n  }\n  else if (local_dc == (void *)0x0) {\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }\n  else {\n    FUN_0008cf60(local_dc);\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_6c;\n  }\n                    \n  FUN_000f4bf0();\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "size_t sVar6;" primitive_type identifier ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "void *pvVar10;" primitive_type (pointer_declarator "*pvVar10" * identifier) ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "size_t *psVar16;" primitive_type (pointer_declarator "*psVar16" * identifier) ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "void *pvVar24;" primitive_type (pointer_declarator "*pvVar24" * identifier) ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "undefined4 *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "bool bVar29;" primitive_type identifier ;) (declaration "size_t *psVar30;" primitive_type (pointer_declarator "*psVar30" * identifier) ;) (declaration "void *local_dc;" primitive_type (pointer_declarator "*local_dc" * identifier) ;) (declaration "undefined *local_d0;" type_identifier (pointer_declarator "*local_d0" * identifier) ;) (declaration "undefined4 *local_cc;" type_identifier (pointer_declarator "*local_cc" * identifier) ;) (declaration "undefined *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "int *local_c0;" primitive_type (pointer_declarator "*local_c0" * identifier) ;) (declaration "undefined4 *local_bc;" type_identifier (pointer_declarator "*local_bc" * identifier) ;) (declaration "int local_b8;" primitive_type identifier ;) (declaration "undefined *local_b4;" type_identifier (pointer_declarator "*local_b4" * identifier) ;) (declaration "int local_b0;" primitive_type identifier ;) (declaration "byte *local_ac;" type_identifier (pointer_declarator "*local_ac" * identifier) ;) (declaration "byte *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "byte *local_a4;" type_identifier (pointer_declarator "*local_a4" * identifier) ;) (declaration "byte *local_a0;" type_identifier (pointer_declarator "*local_a0" * identifier) ;) (declaration "byte *local_9c;" type_identifier (pointer_declarator "*local_9c" * identifier) ;) (declaration "size_t local_80;" primitive_type identifier ;) (declaration "size_t local_6c;" primitive_type identifier ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "size_t local_64;" primitive_type identifier ;) (declaration "char *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "char *local_58;" primitive_type (pointer_declarator "*local_58" * identifier) ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "char *local_50;" primitive_type (pointer_declarator "*local_50" * identifier) ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "char *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "char *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "char *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "char *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "char *local_28;" primitive_type (pointer_declarator "*local_28" * identifier) ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0xcf86b;" (assignment_expression "uStack_14 = 0xcf86b" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "cVar1 = *(char *)(*param_4 + 3);" (assignment_expression "cVar1 = *(char *)(*param_4 + 3)" identifier = (pointer_expression "*(char *)(*param_4 + 3)" * (cast_expression "(char *)(*param_4 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + 3)" ( (binary_expression "*param_4 + 3" (pointer_expression "*param_4" * identifier) + number_literal) ))))) ;) (expression_statement "local_68 = (int *)0x0;" (assignment_expression "local_68 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar5 = strlen((char *)param_4[1]);" (assignment_expression "sVar5 = strlen((char *)param_4[1])" identifier = (call_expression "strlen((char *)param_4[1])" identifier (argument_list "((char *)param_4[1])" ( (cast_expression "(char *)param_4[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ])) )))) ;) (expression_statement "sVar6 = strlen((char *)param_4[2]);" (assignment_expression "sVar6 = strlen((char *)param_4[2])" identifier = (call_expression "strlen((char *)param_4[2])" identifier (argument_list "((char *)param_4[2])" ( (cast_expression "(char *)param_4[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[2]" identifier [ number_literal ])) )))) ;) (expression_statement "sVar7 = param_3 * 4 - 8;" (assignment_expression "sVar7 = param_3 * 4 - 8" identifier = (binary_expression "param_3 * 4 - 8" (binary_expression "param_3 * 4" identifier * number_literal) - number_literal)) ;) (expression_statement "local_cc = (undefined4 *)FUN_0003f0c0(sVar7,0);" (assignment_expression "local_cc = (undefined4 *)FUN_0003f0c0(sVar7,0)" identifier = (cast_expression "(undefined4 *)FUN_0003f0c0(sVar7,0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003f0c0(sVar7,0)" identifier (argument_list "(sVar7,0)" ( identifier , number_literal ))))) ;) (if_statement "if (local_cc != (undefined4 *)0x0) {\n    memset(local_cc,0,sVar7);\n    local_c0 = (int *)FUN_0003f0c0(sVar7,0);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }" if (parenthesized_expression "(local_cc != (undefined4 *)0x0)" ( (binary_expression "local_cc != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    memset(local_cc,0,sVar7);\n    local_c0 = (int *)FUN_0003f0c0(sVar7,0);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }" { (expression_statement "memset(local_cc,0,sVar7);" (call_expression "memset(local_cc,0,sVar7)" identifier (argument_list "(local_cc,0,sVar7)" ( identifier , number_literal , identifier ))) ;) (expression_statement "local_c0 = (int *)FUN_0003f0c0(sVar7,0);" (assignment_expression "local_c0 = (int *)FUN_0003f0c0(sVar7,0)" identifier = (cast_expression "(int *)FUN_0003f0c0(sVar7,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003f0c0(sVar7,0)" identifier (argument_list "(sVar7,0)" ( identifier , number_literal ))))) ;) (if_statement "if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }" if (parenthesized_expression "(local_c0 != (int *)0x0)" ( (binary_expression "local_c0 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }" { (expression_statement "memset(local_c0,0,sVar7);" (call_expression "memset(local_c0,0,sVar7)" identifier (argument_list "(local_c0,0,sVar7)" ( identifier , number_literal , identifier ))) ;) (if_statement "if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }" if (parenthesized_expression "((local_6c == 0) && (3 < param_3))" ( (binary_expression "(local_6c == 0) && (3 < param_3)" (parenthesized_expression "(local_6c == 0)" ( (binary_expression "local_6c == 0" identifier == number_literal) )) && (parenthesized_expression "(3 < param_3)" ( (binary_expression "3 < param_3" number_literal < identifier) ))) )) (compound_statement "{\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }" { (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "local_d0 = (undefined *)0x0;" (assignment_expression "local_d0 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar23 = 3;" (assignment_expression "iVar23 = 3" identifier = number_literal) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = (byte *)0x0;" (assignment_expression "local_a8 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "bVar3 = 0;" (assignment_expression "bVar3 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];" statement_identifier : (expression_statement "pcVar13 = (char *)param_4[iVar23];" (assignment_expression "pcVar13 = (char *)param_4[iVar23]" identifier = (cast_expression "(char *)param_4[iVar23]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[iVar23]" identifier [ identifier ]))) ;)) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (if_statement "if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }" if (parenthesized_expression "((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0'))))" ( (binary_expression "(((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))" (parenthesized_expression "(((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0))" ( (binary_expression "((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)" (parenthesized_expression "((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7))" ( (binary_expression "(local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)" (parenthesized_expression "(local_68 == (int *)0x0)" ( (binary_expression "local_68 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(sVar7 = strlen(pcVar13), 8 < sVar7)" ( (comma_expression "sVar7 = strlen(pcVar13), 8 < sVar7" (assignment_expression "sVar7 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) , (binary_expression "8 < sVar7" number_literal < identifier)) ))) )) && (parenthesized_expression "(iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)" ( (comma_expression "iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0" (assignment_expression "iVar8 = FUN_00028130(pcVar13,"tokenize",8)" identifier = (call_expression "FUN_00028130(pcVar13,"tokenize",8)" identifier (argument_list "(pcVar13,"tokenize",8)" ( identifier , (string_literal ""tokenize"" " string_content ") , number_literal )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))" ( (parenthesized_expression "(-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0'))" ( (binary_expression "-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')" (binary_expression "-1 < pcVar13[8]" number_literal < (subscript_expression "pcVar13[8]" identifier [ number_literal ])) && (parenthesized_expression "((&DAT_000fc6a0)[pcVar13[8]] == '\0')" ( (binary_expression "(&DAT_000fc6a0)[pcVar13[8]] == '\0'" (subscript_expression "(&DAT_000fc6a0)[pcVar13[8]]" (parenthesized_expression "(&DAT_000fc6a0)" ( (pointer_expression "&DAT_000fc6a0" & identifier) )) [ (subscript_expression "pcVar13[8]" identifier [ number_literal ]) ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }" { (expression_statement "local_6c = FUN_00076a00(param_6);" (assignment_expression "local_6c = FUN_00076a00(param_6)" identifier = (call_expression "FUN_00076a00(param_6)" identifier (argument_list "(param_6)" ( identifier )))) ;) (goto_statement "goto LAB_000cfa0c;" goto statement_identifier ;) })) (if_statement "if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }" if (parenthesized_expression "(cVar1 == '4')" ( (binary_expression "cVar1 == '4'" identifier == (char_literal "'4'" ' character ')) )) (compound_statement "{\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }" { (expression_statement "cVar2 = *pcVar13;" (assignment_expression "cVar2 = *pcVar13" identifier = (pointer_expression "*pcVar13" * identifier)) ;) (expression_statement "pcVar9 = pcVar13;" (assignment_expression "pcVar9 = pcVar13" identifier = identifier) ;) (if_statement "if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }" if (parenthesized_expression "(cVar2 == '=')" ( (binary_expression "cVar2 == '='" identifier == (char_literal "'='" ' character ')) )) (compound_statement "{\n            local_b4 = (undefined *)0x0;\n          }" { (expression_statement "local_b4 = (undefined *)0x0;" (assignment_expression "local_b4 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }" else (compound_statement "{\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }" { (do_statement "do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');" do (compound_statement "{\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            }" { (if_statement "if (cVar2 == '\0') goto LAB_000cf9db;" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000cf9db;" goto statement_identifier ;)) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = *pcVar9;" (assignment_expression "cVar2 = *pcVar9" identifier = (pointer_expression "*pcVar9" * identifier)) ;) }) while (parenthesized_expression "(cVar2 != '=')" ( (binary_expression "cVar2 != '='" identifier != (char_literal "'='" ' character ')) )) ;) (expression_statement "local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);" (assignment_expression "local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13)" identifier = (cast_expression "(undefined *)((int)pcVar9 - (int)pcVar13)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pcVar9 - (int)pcVar13)" ( (binary_expression "(int)pcVar9 - (int)pcVar13" (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) (expression_statement "pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);" (assignment_expression "pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1)" identifier = (cast_expression "(byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00071090(&DAT_000f6ce3,pcVar9 + 1)" identifier (argument_list "(&DAT_000f6ce3,pcVar9 + 1)" ( (pointer_expression "&DAT_000f6ce3" & identifier) , (binary_expression "pcVar9 + 1" identifier + number_literal) ))))) ;) (if_statement "if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }" if (parenthesized_expression "(pbVar19 != (byte *)0x0)" ( (binary_expression "pbVar19 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            FUN_0001d8b0();\n          }" { (expression_statement "FUN_0001d8b0();" (call_expression "FUN_0001d8b0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_5c = 9;" (assignment_expression "local_5c = 9" identifier = number_literal) ;) (expression_statement "local_54 = 6;" (assignment_expression "local_54 = 6" identifier = number_literal) ;) (expression_statement "local_60 = "matchinfo";" (assignment_expression "local_60 = "matchinfo"" identifier = (string_literal ""matchinfo"" " string_content ")) ;) (expression_statement "local_58 = "prefix";" (assignment_expression "local_58 = "prefix"" identifier = (string_literal ""prefix"" " string_content ")) ;) (expression_statement "local_50 = "compress";" (assignment_expression "local_50 = "compress"" identifier = (string_literal ""compress"" " string_content ")) ;) (expression_statement "local_48 = "uncompress";" (assignment_expression "local_48 = "uncompress"" identifier = (string_literal ""uncompress"" " string_content ")) ;) (expression_statement "local_40 = "order";" (assignment_expression "local_40 = "order"" identifier = (string_literal ""order"" " string_content ")) ;) (expression_statement "local_38 = "content";" (assignment_expression "local_38 = "content"" identifier = (string_literal ""content"" " string_content ")) ;) (expression_statement "local_30 = "languageid";" (assignment_expression "local_30 = "languageid"" identifier = (string_literal ""languageid"" " string_content ")) ;) (expression_statement "local_4c = 8;" (assignment_expression "local_4c = 8" identifier = number_literal) ;) (expression_statement "local_44 = 10;" (assignment_expression "local_44 = 10" identifier = number_literal) ;) (expression_statement "local_3c = 5;" (assignment_expression "local_3c = 5" identifier = number_literal) ;) (expression_statement "local_34 = 7;" (assignment_expression "local_34 = 7" identifier = number_literal) ;) (expression_statement "local_2c = 10;" (assignment_expression "local_2c = 10" identifier = number_literal) ;) (expression_statement "local_28 = "notindexed";" (assignment_expression "local_28 = "notindexed"" identifier = (string_literal ""notindexed"" " string_content ")) ;) (expression_statement "local_24 = 10;" (assignment_expression "local_24 = 10" identifier = number_literal) ;) (if_statement "if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }" if (parenthesized_expression "(pbVar19 != (byte *)0x0)" ( (binary_expression "pbVar19 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }" { (expression_statement "iVar8 = 9;" (assignment_expression "iVar8 = 9" identifier = number_literal) ;) (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" identifier = number_literal) ;) (do_statement "do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );" do (compound_statement "{\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            }" { (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" identifier = identifier) ;) (if_statement "if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }" if (parenthesized_expression "((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0))" ( (binary_expression "(local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)" (parenthesized_expression "(local_b4 == (undefined *)iVar8)" ( (binary_expression "local_b4 == (undefined *)iVar8" identifier == (cast_expression "(undefined *)iVar8" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) && (parenthesized_expression "(iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)" ( (comma_expression "iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0" (assignment_expression "iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4)" identifier = (call_expression "FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4)" identifier (argument_list "(pcVar13,(&local_60)[iVar26 * 2],local_b4)" ( identifier , (subscript_expression "(&local_60)[iVar26 * 2]" (parenthesized_expression "(&local_60)" ( (pointer_expression "&local_60" & identifier) )) [ (binary_expression "iVar26 * 2" identifier * number_literal) ]) , identifier )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }" { (switch_statement "switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }" switch (parenthesized_expression "(iVar26)" ( identifier )) (compound_statement "{\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }" { (case_statement "default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;" default : (expression_statement "sVar7 = strlen((char *)pbVar19);" (assignment_expression "sVar7 = strlen((char *)pbVar19)" identifier = (call_expression "strlen((char *)pbVar19)" identifier (argument_list "((char *)pbVar19)" ( (cast_expression "(char *)pbVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }" if (parenthesized_expression "((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0))" ( (binary_expression "(sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)" (parenthesized_expression "(sVar7 == 4)" ( (binary_expression "sVar7 == 4" identifier == number_literal) )) && (parenthesized_expression "(iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)" ( (comma_expression "iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0" (assignment_expression "iVar8 = FUN_00028130(pbVar19,"fts3",4)" identifier = (call_expression "FUN_00028130(pbVar19,"fts3",4)" identifier (argument_list "(pbVar19,"fts3",4)" ( identifier , (string_literal ""fts3"" " string_content ") , number_literal )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                    bVar3 = 1;\n                  }" { (expression_statement "bVar3 = 1;" (assignment_expression "bVar3 = 1" identifier = number_literal) ;) }) (else_clause "else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }" else (compound_statement "{\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }" { (expression_statement "FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);" (call_expression "FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19)" identifier (argument_list "(param_6,"unrecognized matchinfo: %s",pbVar19)" ( identifier , (string_literal ""unrecognized matchinfo: %s"" " string_content ") , identifier ))) ;) (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" identifier = number_literal) ;) (expression_statement "bVar3 = 1;" (assignment_expression "bVar3 = 1" identifier = number_literal) ;) }))) (break_statement "break;" break ;)) (case_statement "case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;" case number_literal : (expression_statement "FUN_00024cc0(local_a8);" (call_expression "FUN_00024cc0(local_a8)" identifier (argument_list "(local_a8)" ( identifier ))) ;) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = pbVar19;" (assignment_expression "local_a8 = pbVar19" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;" case number_literal : (expression_statement "FUN_00024cc0(local_a4);" (call_expression "FUN_00024cc0(local_a4)" identifier (argument_list "(local_a4)" ( identifier ))) ;) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = pbVar19;" (assignment_expression "local_a4 = pbVar19" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;" case number_literal : (expression_statement "FUN_00024cc0(local_a0);" (call_expression "FUN_00024cc0(local_a0)" identifier (argument_list "(local_a0)" ( identifier ))) ;) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = pbVar19;" (assignment_expression "local_a0 = pbVar19" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;" case number_literal : (expression_statement "sVar7 = strlen((char *)pbVar19);" (assignment_expression "sVar7 = strlen((char *)pbVar19)" identifier = (call_expression "strlen((char *)pbVar19)" identifier (argument_list "((char *)pbVar19)" ( (cast_expression "(char *)pbVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }" if (parenthesized_expression "(sVar7 == 3)" ( (binary_expression "sVar7 == 3" identifier == number_literal) )) (compound_statement "{\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }" { (expression_statement "iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);" (assignment_expression "iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3)" identifier = (call_expression "FUN_00028130(pbVar19,&UNK_000f82c2,3)" identifier (argument_list "(pbVar19,&UNK_000f82c2,3)" ( identifier , (pointer_expression "&UNK_000f82c2" & identifier) , number_literal )))) ;) (if_statement "if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }" { (expression_statement "sVar7 = strlen((char *)pbVar19);" (assignment_expression "sVar7 = strlen((char *)pbVar19)" identifier = (call_expression "strlen((char *)pbVar19)" identifier (argument_list "((char *)pbVar19)" ( (cast_expression "(char *)pbVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (goto_statement "goto code_r0x000d0c76;" goto statement_identifier ;) })) }) (else_clause "else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }" else (compound_statement "{\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }" { (labeled_statement "code_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }" statement_identifier : (if_statement "if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }" if (parenthesized_expression "((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))" ( (binary_expression "(sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0)" (parenthesized_expression "(sVar7 != 4)" ( (binary_expression "sVar7 != 4" identifier != number_literal) )) || (parenthesized_expression "(iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0)" ( (comma_expression "iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0" (assignment_expression "iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4)" identifier = (call_expression "FUN_00028130(pbVar19,&UNK_000f82dd,4)" identifier (argument_list "(pbVar19,&UNK_000f82dd,4)" ( identifier , (pointer_expression "&UNK_000f82dd" & identifier) , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }" { (expression_statement "FUN_00071050(param_6,"unrecognized order: %s",pbVar19);" (call_expression "FUN_00071050(param_6,"unrecognized order: %s",pbVar19)" identifier (argument_list "(param_6,"unrecognized order: %s",pbVar19)" ( identifier , (string_literal ""unrecognized order: %s"" " string_content ") , identifier ))) ;) (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" identifier = number_literal) ;) }))) }))) (expression_statement "bVar29 = (*pbVar19 & 0xdf) == 0x44;" (assignment_expression "bVar29 = (*pbVar19 & 0xdf) == 0x44" identifier = (binary_expression "(*pbVar19 & 0xdf) == 0x44" (parenthesized_expression "(*pbVar19 & 0xdf)" ( (binary_expression "*pbVar19 & 0xdf" (pointer_expression "*pbVar19" * identifier) & number_literal) )) == number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;" case number_literal : (expression_statement "FUN_00024cc0(local_ac);" (call_expression "FUN_00024cc0(local_ac)" identifier (argument_list "(local_ac)" ( identifier ))) ;) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = pbVar19;" (assignment_expression "local_ac = pbVar19" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;" case number_literal : (expression_statement "FUN_00024cc0(local_9c);" (call_expression "FUN_00024cc0(local_9c)" identifier (argument_list "(local_9c)" ( identifier ))) ;) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_9c = pbVar19;" (assignment_expression "local_9c = pbVar19" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;" case number_literal : (expression_statement "local_c0[local_b0] = (int)pbVar19;" (assignment_expression "local_c0[local_b0] = (int)pbVar19" (subscript_expression "local_c0[local_b0]" identifier [ identifier ]) = (cast_expression "(int)pbVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_b0 = local_b0 + 1;" (assignment_expression "local_b0 = local_b0 + 1" identifier = (binary_expression "local_b0 + 1" identifier + number_literal)) ;) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) })) (goto_statement "goto LAB_000d06b8;" goto statement_identifier ;) })) (expression_statement "iVar26 = iVar26 + 1;" (assignment_expression "iVar26 = iVar26 + 1" identifier = (binary_expression "iVar26 + 1" identifier + number_literal)) ;) (if_statement "if (iVar26 == 8) goto LAB_000d0688;" if (parenthesized_expression "(iVar26 == 8)" ( (binary_expression "iVar26 == 8" identifier == number_literal) )) (goto_statement "goto LAB_000d0688;" goto statement_identifier ;)) (expression_statement "iVar8 = (&local_5c)[iVar26 * 2];" (assignment_expression "iVar8 = (&local_5c)[iVar26 * 2]" identifier = (subscript_expression "(&local_5c)[iVar26 * 2]" (parenthesized_expression "(&local_5c)" ( (pointer_expression "&local_5c" & identifier) )) [ (binary_expression "iVar26 * 2" identifier * number_literal) ])) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" identifier = number_literal) ;) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" identifier = false) ;) (goto_statement "goto LAB_000cfd03;" goto statement_identifier ;) })) (labeled_statement "LAB_000cf9db:\n        sVar7 = strlen(pcVar13);" statement_identifier : (expression_statement "sVar7 = strlen(pcVar13);" (assignment_expression "sVar7 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) ;)) (expression_statement "local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);" (assignment_expression "local_d0 = (undefined *)((int)local_d0 + 1U + sVar7)" identifier = (cast_expression "(undefined *)((int)local_d0 + 1U + sVar7)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_d0 + 1U + sVar7)" ( (binary_expression "(int)local_d0 + 1U + sVar7" (binary_expression "(int)local_d0 + 1U" (cast_expression "(int)local_d0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) + identifier) )))) ;) (expression_statement "local_cc[iVar21] = pcVar13;" (assignment_expression "local_cc[iVar21] = pcVar13" (subscript_expression "local_cc[iVar21]" identifier [ identifier ]) = identifier) ;) (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000cfa0c;" goto statement_identifier ;) })) (expression_statement "bVar3 = 0;" (assignment_expression "bVar3 = 0" identifier = number_literal) ;) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "local_a8 = (byte *)0x0;" (assignment_expression "local_a8 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "local_d0 = (undefined *)0x0;" (assignment_expression "local_d0 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000d0578;" goto statement_identifier ;) })) })) (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" identifier = number_literal) ;) (expression_statement "local_c0 = (int *)0x0;" (assignment_expression "local_c0 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = (byte *)0x0;" (assignment_expression "local_a8 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) (labeled_statement "LAB_000d0688:\n  FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13);" statement_identifier : (expression_statement "FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13);" (call_expression "FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13)" identifier (argument_list "(param_6,"unrecognized parameter: %s",pcVar13)" ( identifier , (string_literal ""unrecognized parameter: %s"" " string_content ") , identifier ))) ;)) (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" identifier = number_literal) ;) (labeled_statement "LAB_000d06b8:\n  FUN_00024cc0(pbVar20);" statement_identifier : (expression_statement "FUN_00024cc0(pbVar20);" (call_expression "FUN_00024cc0(pbVar20)" identifier (argument_list "(pbVar20)" ( identifier ))) ;)) (labeled_statement "LAB_000cfa0c:\n  bVar28 = local_6c == 0;" statement_identifier : (expression_statement "bVar28 = local_6c == 0;" (assignment_expression "bVar28 = local_6c == 0" identifier = (binary_expression "local_6c == 0" identifier == number_literal)) ;)) (if_statement "if (param_3 <= iVar23 || !bVar28) goto LAB_000cfd03;" if (parenthesized_expression "(param_3 <= iVar23 || !bVar28)" ( (binary_expression "param_3 <= iVar23 || !bVar28" (binary_expression "param_3 <= iVar23" identifier <= identifier) || (unary_expression "!bVar28" ! identifier)) )) (goto_statement "goto LAB_000cfd03;" goto statement_identifier ;)) (goto_statement "goto LAB_000cfa14;" goto statement_identifier ;) (labeled_statement "LAB_000d08d0:\n  iVar23 = iVar23 + 1;" statement_identifier : (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;)) (if_statement "if (iVar23 == iVar21) goto LAB_000cfd38;" if (parenthesized_expression "(iVar23 == iVar21)" ( (binary_expression "iVar23 == iVar21" identifier == identifier) )) (goto_statement "goto LAB_000cfd38;" goto statement_identifier ;)) (goto_statement "goto LAB_000d08db;" goto statement_identifier ;) (labeled_statement "LAB_000cfd03:\n  if ((local_ac == (byte *)0x0) || (!bVar28)) {\nLAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }" statement_identifier : (if_statement "if ((local_ac == (byte *)0x0) || (!bVar28)) {\nLAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }" if (parenthesized_expression "((local_ac == (byte *)0x0) || (!bVar28))" ( (binary_expression "(local_ac == (byte *)0x0) || (!bVar28)" (parenthesized_expression "(local_ac == (byte *)0x0)" ( (binary_expression "local_ac == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(!bVar28)" ( (unary_expression "!bVar28" ! identifier) ))) )) (compound_statement "{\nLAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }" { (labeled_statement "LAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" statement_identifier : (if_statement "if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) )) (compound_statement "{\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) }))) (goto_statement "goto LAB_000d0580;" goto statement_identifier ;) }))) (expression_statement "FUN_00024cc0(local_a4);" (call_expression "FUN_00024cc0(local_a4)" identifier (argument_list "(local_a4)" ( identifier ))) ;) (expression_statement "FUN_00024cc0(local_a0);" (call_expression "FUN_00024cc0(local_a0)" identifier (argument_list "(local_a0)" ( identifier ))) ;) (if_statement "if (iVar21 == 0) {\n    FUN_00024cc0(local_cc);\n    local_64 = 0;\n    iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);\n    if (sVar7 != 0) {\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    FUN_00024cc0(iVar21);\n    iVar21 = FUN_0001bb40(local_64);\n    if (iVar21 < 1) {\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }\n  }\n  else {\nLAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    local_6c = 0;\n  }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00024cc0(local_cc);\n    local_64 = 0;\n    iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);\n    if (sVar7 != 0) {\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    FUN_00024cc0(iVar21);\n    iVar21 = FUN_0001bb40(local_64);\n    if (iVar21 < 1) {\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }\n  }" { (expression_statement "FUN_00024cc0(local_cc);" (call_expression "FUN_00024cc0(local_cc)" identifier (argument_list "(local_cc)" ( identifier ))) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);" (assignment_expression "iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac)" identifier = (call_expression "FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac)" identifier (argument_list "("SELECT * FROM %Q.%Q",param_4[1],local_ac)" ( (string_literal ""SELECT * FROM %Q.%Q"" " string_content ") , (subscript_expression "param_4[1]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "FUN_00024cc0(0);" (call_expression "FUN_00024cc0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" identifier = number_literal) ;) (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_cc = (undefined4 *)0x0;" (assignment_expression "local_cc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) (expression_statement "sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);" (assignment_expression "sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0)" identifier = (call_expression "FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0)" identifier (argument_list "(param_2,iVar21,0xffffffff,&local_64,0)" ( identifier , identifier , number_literal , (pointer_expression "&local_64" & identifier) , number_literal )))) ;) (if_statement "if (sVar7 != 0) {\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(sVar7 != 0)" ( (binary_expression "sVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "uVar17 = FUN_00055cc0(param_2);" (assignment_expression "uVar17 = FUN_00055cc0(param_2)" identifier = (call_expression "FUN_00055cc0(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "FUN_00071050(param_6,&DAT_000f6ce3,uVar17);" (call_expression "FUN_00071050(param_6,&DAT_000f6ce3,uVar17)" identifier (argument_list "(param_6,&DAT_000f6ce3,uVar17)" ( identifier , (pointer_expression "&DAT_000f6ce3" & identifier) , identifier ))) ;) (expression_statement "FUN_00024cc0(iVar21);" (call_expression "FUN_00024cc0(iVar21)" identifier (argument_list "(iVar21)" ( identifier ))) ;) (expression_statement "local_6c = sVar7;" (assignment_expression "local_6c = sVar7" identifier = identifier) ;) (labeled_statement "LAB_000d0e57:\n      local_bc = (undefined4 *)0x0;" statement_identifier : (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_cc = (undefined4 *)0x0;" (assignment_expression "local_cc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) (expression_statement "FUN_00024cc0(iVar21);" (call_expression "FUN_00024cc0(iVar21)" identifier (argument_list "(iVar21)" ( identifier ))) ;) (expression_statement "iVar21 = FUN_0001bb40(local_64);" (assignment_expression "iVar21 = FUN_0001bb40(local_64)" identifier = (call_expression "FUN_0001bb40(local_64)" identifier (argument_list "(local_64)" ( identifier )))) ;) (if_statement "if (iVar21 < 1) {\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }" if (parenthesized_expression "(iVar21 < 1)" ( (binary_expression "iVar21 < 1" identifier < number_literal) )) (compound_statement "{\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }" { (expression_statement "local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);" (assignment_expression "local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0)" identifier = (cast_expression "(undefined4 *)FUN_0003f0c0(iVar21 * 4,0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003f0c0(iVar21 * 4,0)" identifier (argument_list "(iVar21 * 4,0)" ( (binary_expression "iVar21 * 4" identifier * number_literal) , number_literal ))))) ;) (if_statement "if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;" if (parenthesized_expression "(local_cc == (undefined4 *)0x0)" ( (binary_expression "local_cc == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d1187;" goto statement_identifier ;)) (expression_statement "FUN_00089c20(local_64);" (call_expression "FUN_00089c20(local_64)" identifier (argument_list "(local_64)" ( identifier ))) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_d0 = (undefined *)0x0;" (assignment_expression "local_d0 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_9c == (byte *)0x0) goto LAB_000d1169;" if (parenthesized_expression "(local_9c == (byte *)0x0)" ( (binary_expression "local_9c == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d1169;" goto statement_identifier ;)) (expression_statement "local_d0 = (undefined *)0x0;" (assignment_expression "local_d0 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }" else (compound_statement "{\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }" { (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (expression_statement "local_d0 = (undefined *)0x0;" (assignment_expression "local_d0 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (do_statement "do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);" do (compound_statement "{\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      }" { (expression_statement "pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);" (assignment_expression "pcVar13 = (char *)FUN_0003ac60(local_64,iVar8)" identifier = (cast_expression "(char *)FUN_0003ac60(local_64,iVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003ac60(local_64,iVar8)" identifier (argument_list "(local_64,iVar8)" ( identifier , identifier ))))) ;) (expression_statement "sVar7 = strlen(pcVar13);" (assignment_expression "sVar7 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) ;) (expression_statement "bVar28 = CARRY4((uint)local_d0,sVar7 + 1);" (assignment_expression "bVar28 = CARRY4((uint)local_d0,sVar7 + 1)" identifier = (call_expression "CARRY4((uint)local_d0,sVar7 + 1)" identifier (argument_list "((uint)local_d0,sVar7 + 1)" ( (cast_expression "(uint)local_d0" ( (type_descriptor "uint" type_identifier) ) identifier) , (binary_expression "sVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);" (assignment_expression "local_d0 = (undefined *)((int)local_d0 + sVar7 + 1)" identifier = (cast_expression "(undefined *)((int)local_d0 + sVar7 + 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_d0 + sVar7 + 1)" ( (binary_expression "(int)local_d0 + sVar7 + 1" (binary_expression "(int)local_d0 + sVar7" (cast_expression "(int)local_d0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "iVar23 = iVar23 + (uint)bVar28;" (assignment_expression "iVar23 = iVar23 + (uint)bVar28" identifier = (binary_expression "iVar23 + (uint)bVar28" identifier + (cast_expression "(uint)bVar28" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar21 != iVar8)" ( (binary_expression "iVar21 != iVar8" identifier != identifier) )) ;) (expression_statement "local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));" (assignment_expression "local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0))" identifier = (cast_expression "(undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0))" identifier (argument_list "(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0))" ( (binary_expression "iVar21 * 4 + (int)local_d0" (binary_expression "iVar21 * 4" identifier * number_literal) + (cast_expression "(int)local_d0" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0)" identifier + (cast_expression "(uint)CARRY4(iVar21 * 4,(uint)local_d0)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(iVar21 * 4,(uint)local_d0)" identifier (argument_list "(iVar21 * 4,(uint)local_d0)" ( (binary_expression "iVar21 * 4" identifier * number_literal) , (cast_expression "(uint)local_d0" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) ))))) ;) (if_statement "if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }" if (parenthesized_expression "(local_cc == (undefined4 *)0x0)" ( (binary_expression "local_cc == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }" { (labeled_statement "LAB_000d1187:\n        FUN_00089c20(local_64);" statement_identifier : (expression_statement "FUN_00089c20(local_64);" (call_expression "FUN_00089c20(local_64)" identifier (argument_list "(local_64)" ( identifier ))) ;)) (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" identifier = number_literal) ;) (goto_statement "goto LAB_000d0e57;" goto statement_identifier ;) })) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (expression_statement "puVar27 = local_cc + iVar21;" (assignment_expression "puVar27 = local_cc + iVar21" identifier = (binary_expression "local_cc + iVar21" identifier + identifier)) ;) (do_statement "do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);" do (compound_statement "{\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      }" { (expression_statement "pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);" (assignment_expression "pcVar13 = (char *)FUN_0003ac60(local_64,iVar23)" identifier = (cast_expression "(char *)FUN_0003ac60(local_64,iVar23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003ac60(local_64,iVar23)" identifier (argument_list "(local_64,iVar23)" ( identifier , identifier ))))) ;) (expression_statement "sVar7 = strlen(pcVar13);" (assignment_expression "sVar7 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) ;) (expression_statement "memcpy(puVar27,pcVar13,sVar7 + 1);" (call_expression "memcpy(puVar27,pcVar13,sVar7 + 1)" identifier (argument_list "(puVar27,pcVar13,sVar7 + 1)" ( identifier , identifier , (binary_expression "sVar7 + 1" identifier + number_literal) ))) ;) (expression_statement "local_cc[iVar23] = puVar27;" (assignment_expression "local_cc[iVar23] = puVar27" (subscript_expression "local_cc[iVar23]" identifier [ identifier ]) = identifier) ;) (expression_statement "puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);" (assignment_expression "puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1)" identifier = (cast_expression "(undefined4 *)((int)puVar27 + sVar7 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + sVar7 + 1)" ( (binary_expression "(int)puVar27 + sVar7 + 1" (binary_expression "(int)puVar27 + sVar7" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar21 != iVar23)" ( (binary_expression "iVar21 != iVar23" identifier != identifier) )) ;) (expression_statement "FUN_00089c20(local_64);" (call_expression "FUN_00089c20(local_64)" identifier (argument_list "(local_64)" ( identifier ))) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (if_statement "if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }" if (parenthesized_expression "(local_9c != (byte *)0x0)" ( (binary_expression "local_9c != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }" { (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);" statement_identifier : (expression_statement "iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);" (assignment_expression "iVar8 = FUN_00027b40(local_9c,local_cc[iVar23])" identifier = (call_expression "FUN_00027b40(local_9c,local_cc[iVar23])" identifier (argument_list "(local_9c,local_cc[iVar23])" ( identifier , (subscript_expression "local_cc[iVar23]" identifier [ identifier ]) )))) ;)) (if_statement "if (iVar8 != 0) goto LAB_000d08d0;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000d08d0;" goto statement_identifier ;)) (expression_statement "puVar27 = local_cc + iVar23;" (assignment_expression "puVar27 = local_cc + iVar23" identifier = (binary_expression "local_cc + iVar23" identifier + identifier)) ;) (if_statement "if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }" if (parenthesized_expression "(iVar23 < iVar21)" ( (binary_expression "iVar23 < iVar21" identifier < identifier) )) (compound_statement "{\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }" { (do_statement "do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);" do (compound_statement "{\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          }" { (expression_statement "puVar14 = puVar27 + 1;" (assignment_expression "puVar14 = puVar27 + 1" identifier = (binary_expression "puVar27 + 1" identifier + number_literal)) ;) (expression_statement "*puVar27 = puVar27[1];" (assignment_expression "*puVar27 = puVar27[1]" (pointer_expression "*puVar27" * identifier) = (subscript_expression "puVar27[1]" identifier [ number_literal ])) ;) (expression_statement "puVar27 = puVar14;" (assignment_expression "puVar27 = puVar14" identifier = identifier) ;) }) while (parenthesized_expression "(local_cc + iVar21 != puVar14)" ( (binary_expression "local_cc + iVar21 != puVar14" (binary_expression "local_cc + iVar21" identifier + identifier) != identifier) )) ;) })) (expression_statement "iVar21 = iVar21 + -1;" (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000d0578;" goto statement_identifier ;) })) (labeled_statement "LAB_000d1169:\n      local_6c = 0;" statement_identifier : (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;)) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_000d0580:\n    if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }" statement_identifier : (if_statement "if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }" { (expression_statement "iVar21 = 1;" (assignment_expression "iVar21 = 1" identifier = number_literal) ;) (expression_statement "local_d0 = (undefined *)0x8;" (assignment_expression "local_d0 = (undefined *)0x8" identifier = (cast_expression "(undefined *)0x8" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*local_cc = "content";" (assignment_expression "*local_cc = "content"" (pointer_expression "*local_cc" * identifier) = (string_literal ""content"" " string_content ")) ;) }))) }) (else_clause "else {\nLAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    local_6c = 0;\n  }" else (compound_statement "{\nLAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    local_6c = 0;\n  }" { (labeled_statement "LAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" statement_identifier : (if_statement "if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) )) (compound_statement "{\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000d0985:\n      local_dc = (void *)0x0;" statement_identifier : (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) }))) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) }))) (if_statement "if (local_68 == (int *)0x0) {\n    local_6c = FUN_00076a00(param_6);\n    local_bc = (undefined4 *)0x0;\n    if (local_6c != 0) {\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n  }" if (parenthesized_expression "(local_68 == (int *)0x0)" ( (binary_expression "local_68 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_6c = FUN_00076a00(param_6);\n    local_bc = (undefined4 *)0x0;\n    if (local_6c != 0) {\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n  }" { (expression_statement "local_6c = FUN_00076a00(param_6);" (assignment_expression "local_6c = FUN_00076a00(param_6)" identifier = (call_expression "FUN_00076a00(param_6)" identifier (argument_list "(param_6)" ( identifier )))) ;) (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_6c != 0) {\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) )) (compound_statement "{\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) })) (if_statement "if (local_a8 == (byte *)0x0) {\n    local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar15 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    local_6c = 0;\n    iVar23 = 6;\n    local_80 = 1;\n    local_b4 = (undefined *)0x1;\n  }\n  else {\n    bVar4 = *local_a8;\n    if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }\n    local_6c = 0;\n    local_b4 = (undefined *)local_80;\n  }" if (parenthesized_expression "(local_a8 == (byte *)0x0)" ( (binary_expression "local_a8 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar15 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    local_6c = 0;\n    iVar23 = 6;\n    local_80 = 1;\n    local_b4 = (undefined *)0x1;\n  }" { (expression_statement "local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);" (assignment_expression "local_bc = (undefined4 *)FUN_0003f0c0(0x18,0)" identifier = (cast_expression "(undefined4 *)FUN_0003f0c0(0x18,0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003f0c0(0x18,0)" identifier (argument_list "(0x18,0)" ( number_literal , number_literal ))))) ;) (if_statement "if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;" if (parenthesized_expression "(local_bc == (undefined4 *)0x0)" ( (binary_expression "local_bc == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d06fb;" goto statement_identifier ;)) (expression_statement "*local_bc = 0;" (assignment_expression "*local_bc = 0" (pointer_expression "*local_bc" * identifier) = number_literal) ;) (expression_statement "local_bc[5] = 0;" (assignment_expression "local_bc[5] = 0" (subscript_expression "local_bc[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (do_statement "do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));" do (compound_statement "{\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    }" { (expression_statement "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;" (assignment_expression "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0" (pointer_expression "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" * (cast_expression "(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" ( (binary_expression "((uint)(local_bc + 1) & 0xfffffffc) + uVar15" (parenthesized_expression "((uint)(local_bc + 1) & 0xfffffffc)" ( (binary_expression "(uint)(local_bc + 1) & 0xfffffffc" (call_expression "(uint)(local_bc + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc + 1)" ( (binary_expression "local_bc + 1" identifier + number_literal) ))) & number_literal) )) + identifier) )))) = number_literal) ;) (expression_statement "uVar15 = uVar15 + 4;" (assignment_expression "uVar15 = uVar15 + 4" identifier = (binary_expression "uVar15 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))" ( (binary_expression "uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc)" identifier < (parenthesized_expression "((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc)" ( (binary_expression "(int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc" (binary_expression "(int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc))" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x18 - ((uint)(local_bc + 1) & 0xfffffffc))" ( (binary_expression "0x18 - ((uint)(local_bc + 1) & 0xfffffffc)" number_literal - (parenthesized_expression "((uint)(local_bc + 1) & 0xfffffffc)" ( (binary_expression "(uint)(local_bc + 1) & 0xfffffffc" (call_expression "(uint)(local_bc + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc + 1)" ( (binary_expression "local_bc + 1" identifier + number_literal) ))) & number_literal) ))) ))) & number_literal) ))) )) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "iVar23 = 6;" (assignment_expression "iVar23 = 6" identifier = number_literal) ;) (expression_statement "local_80 = 1;" (assignment_expression "local_80 = 1" identifier = number_literal) ;) (expression_statement "local_b4 = (undefined *)0x1;" (assignment_expression "local_b4 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    bVar4 = *local_a8;\n    if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }\n    local_6c = 0;\n    local_b4 = (undefined *)local_80;\n  }" else (compound_statement "{\n    bVar4 = *local_a8;\n    if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }\n    local_6c = 0;\n    local_b4 = (undefined *)local_80;\n  }" { (expression_statement "bVar4 = *local_a8;" (assignment_expression "bVar4 = *local_a8" identifier = (pointer_expression "*local_a8" * identifier)) ;) (if_statement "if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }" if (parenthesized_expression "(bVar4 == 0)" ( (binary_expression "bVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }" { (expression_statement "local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);" (assignment_expression "local_bc = (undefined4 *)FUN_0003f0c0(0x18,0)" identifier = (cast_expression "(undefined4 *)FUN_0003f0c0(0x18,0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003f0c0(0x18,0)" identifier (argument_list "(0x18,0)" ( number_literal , number_literal ))))) ;) (if_statement "if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;" if (parenthesized_expression "(local_bc == (undefined4 *)0x0)" ( (binary_expression "local_bc == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d06fb;" goto statement_identifier ;)) (expression_statement "*local_bc = 0;" (assignment_expression "*local_bc = 0" (pointer_expression "*local_bc" * identifier) = number_literal) ;) (expression_statement "local_bc[5] = 0;" (assignment_expression "local_bc[5] = 0" (subscript_expression "local_bc[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (do_statement "do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;" do (compound_statement "{\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      }" { (expression_statement "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;" (assignment_expression "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0" (pointer_expression "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" * (cast_expression "(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" ( (binary_expression "((uint)(local_bc + 1) & 0xfffffffc) + uVar15" (parenthesized_expression "((uint)(local_bc + 1) & 0xfffffffc)" ( (binary_expression "(uint)(local_bc + 1) & 0xfffffffc" (call_expression "(uint)(local_bc + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc + 1)" ( (binary_expression "local_bc + 1" identifier + number_literal) ))) & number_literal) )) + identifier) )))) = number_literal) ;) (expression_statement "uVar15 = uVar15 + 4;" (assignment_expression "uVar15 = uVar15 + 4" identifier = (binary_expression "uVar15 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))" ( (binary_expression "uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc)" identifier < (parenthesized_expression "((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc)" ( (binary_expression "(int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc" (binary_expression "(int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc))" (cast_expression "(int)local_bc" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(0x18 - ((uint)(local_bc + 1) & 0xfffffffc))" ( (binary_expression "0x18 - ((uint)(local_bc + 1) & 0xfffffffc)" number_literal - (parenthesized_expression "((uint)(local_bc + 1) & 0xfffffffc)" ( (binary_expression "(uint)(local_bc + 1) & 0xfffffffc" (call_expression "(uint)(local_bc + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_bc + 1)" ( (binary_expression "local_bc + 1" identifier + number_literal) ))) & number_literal) ))) ))) & number_literal) ))) )) ;) (expression_statement "iVar23 = 6;" (assignment_expression "iVar23 = 6" identifier = number_literal) ;) (expression_statement "local_80 = 1;" (assignment_expression "local_80 = 1" identifier = number_literal) ;) }) (else_clause "else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }" else (compound_statement "{\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }" { (expression_statement "local_b4 = (undefined *)0x2;" (assignment_expression "local_b4 = (undefined *)0x2" identifier = (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar19 = local_a8;" (assignment_expression "pbVar19 = local_a8" identifier = identifier) ;) (do_statement "do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);" do (compound_statement "{\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      }" { (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));" (assignment_expression "local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c))" identifier = (cast_expression "(undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c))" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b4 + (uint)(bVar4 == 0x2c))" ( (binary_expression "(int)local_b4 + (uint)(bVar4 == 0x2c)" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(bVar4 == 0x2c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar4 == 0x2c)" ( (binary_expression "bVar4 == 0x2c" identifier == number_literal) )))) )))) ;) (expression_statement "bVar4 = *pbVar19;" (assignment_expression "bVar4 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) }) while (parenthesized_expression "(bVar4 != 0)" ( (binary_expression "bVar4 != 0" identifier != number_literal) )) ;) (expression_statement "local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);" (assignment_expression "local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0)" identifier = (cast_expression "(undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003f0c0((int)local_b4 * 0x18,0)" identifier (argument_list "((int)local_b4 * 0x18,0)" ( (binary_expression "(int)local_b4 * 0x18" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) , number_literal ))))) ;) (if_statement "if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }" if (parenthesized_expression "(local_bc == (undefined4 *)0x0)" ( (binary_expression "local_bc == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }" { (labeled_statement "LAB_000d06fb:\n        local_6c = 7;" statement_identifier : (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" identifier = number_literal) ;)) (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) (expression_statement "memset(local_bc,0,(int)local_b4 * 0x18);" (call_expression "memset(local_bc,0,(int)local_b4 * 0x18)" identifier (argument_list "(local_bc,0,(int)local_b4 * 0x18)" ( identifier , number_literal , (binary_expression "(int)local_b4 * 0x18" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) ;) (expression_statement "local_b8 = 1;" (assignment_expression "local_b8 = 1" identifier = number_literal) ;) (expression_statement "pbVar19 = local_a8;" (assignment_expression "pbVar19 = local_a8" identifier = identifier) ;) (do_statement "do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);" do (compound_statement "{\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      }" { (if_statement "if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }" if (parenthesized_expression "(9 < (byte)(*pbVar19 - 0x30))" ( (binary_expression "9 < (byte)(*pbVar19 - 0x30)" number_literal < (call_expression "(byte)(*pbVar19 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*pbVar19 - 0x30)" ( (binary_expression "*pbVar19 - 0x30" (pointer_expression "*pbVar19" * identifier) - number_literal) )))) )) (compound_statement "{\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }" { (labeled_statement "LAB_000d094c:\n          local_6c = 1;" statement_identifier : (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" identifier = number_literal) ;)) (expression_statement "FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);" (call_expression "FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8)" identifier (argument_list "(param_6,"error parsing prefix parameter: %s",local_a8)" ( identifier , (string_literal ""error parsing prefix parameter: %s"" " string_content ") , identifier ))) ;) (expression_statement "local_b4 = (undefined *)local_6c;" (assignment_expression "local_b4 = (undefined *)local_6c" identifier = (cast_expression "(undefined *)local_6c" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_6c != 0) goto LAB_000d0985;" if (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) )) (goto_statement "goto LAB_000d0985;" goto statement_identifier ;)) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000cfe77;" goto statement_identifier ;) })) (expression_statement "iVar23 = (char)*pbVar19 + -0x30;" (assignment_expression "iVar23 = (char)*pbVar19 + -0x30" identifier = (binary_expression "(char)*pbVar19 + -0x30" (cast_expression "(char)*pbVar19" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar19" * identifier)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" identifier = identifier) ;) (do_statement "do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);" do (compound_statement "{\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        }" { (expression_statement "pbVar18 = pbVar20;" (assignment_expression "pbVar18 = pbVar20" identifier = identifier) ;) (expression_statement "pbVar20 = pbVar18 + 1;" (assignment_expression "pbVar20 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (if_statement "if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }" if (parenthesized_expression "(9 < (byte)(pbVar18[1] - 0x30))" ( (binary_expression "9 < (byte)(pbVar18[1] - 0x30)" number_literal < (call_expression "(byte)(pbVar18[1] - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pbVar18[1] - 0x30)" ( (binary_expression "pbVar18[1] - 0x30" (subscript_expression "pbVar18[1]" identifier [ number_literal ]) - number_literal) )))) )) (compound_statement "{\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }" { (if_statement "if (pbVar20 == pbVar19) goto LAB_000d094c;" if (parenthesized_expression "(pbVar20 == pbVar19)" ( (binary_expression "pbVar20 == pbVar19" identifier == identifier) )) (goto_statement "goto LAB_000d094c;" goto statement_identifier ;)) (if_statement "if (iVar23 == 0) goto LAB_000d0938;" if (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000d0938;" goto statement_identifier ;)) (expression_statement "local_bc[local_b8 * 6] = iVar23;" (assignment_expression "local_bc[local_b8 * 6] = iVar23" (subscript_expression "local_bc[local_b8 * 6]" identifier [ (binary_expression "local_b8 * 6" identifier * number_literal) ]) = identifier) ;) (expression_statement "local_b8 = local_b8 + 1;" (assignment_expression "local_b8 = local_b8 + 1" identifier = (binary_expression "local_b8 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000cfe51;" goto statement_identifier ;) })) (expression_statement "iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;" (assignment_expression "iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10" identifier = (binary_expression "(char)pbVar18[1] + -0x30 + iVar23 * 10" (binary_expression "(char)pbVar18[1] + -0x30" (cast_expression "(char)pbVar18[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar18[1]" identifier [ number_literal ])) + number_literal) + (binary_expression "iVar23 * 10" identifier * number_literal))) ;) }) while (parenthesized_expression "(iVar23 < 0x989681)" ( (binary_expression "iVar23 < 0x989681" identifier < number_literal) )) ;) (if_statement "if (pbVar20 == pbVar19) goto LAB_000d094c;" if (parenthesized_expression "(pbVar20 == pbVar19)" ( (binary_expression "pbVar20 == pbVar19" identifier == identifier) )) (goto_statement "goto LAB_000d094c;" goto statement_identifier ;)) (labeled_statement "LAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);" statement_identifier : (expression_statement "local_b4 = (undefined *)((int)local_b4 - 1);" (assignment_expression "local_b4 = (undefined *)((int)local_b4 - 1)" identifier = (cast_expression "(undefined *)((int)local_b4 - 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_b4 - 1)" ( (binary_expression "(int)local_b4 - 1" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) )))) ;)) (labeled_statement "LAB_000cfe51:\n        pbVar19 = pbVar18 + 2;" statement_identifier : (expression_statement "pbVar19 = pbVar18 + 2;" (assignment_expression "pbVar19 = pbVar18 + 2" identifier = (binary_expression "pbVar18 + 2" identifier + number_literal)) ;)) }) while (parenthesized_expression "(local_b8 < (int)local_b4)" ( (binary_expression "local_b8 < (int)local_b4" identifier < (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "local_80 = (size_t)local_b4;" (assignment_expression "local_80 = (size_t)local_b4" identifier = (cast_expression "(size_t)local_b4" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "iVar23 = (int)local_b4 * 6;" (assignment_expression "iVar23 = (int)local_b4 * 6" identifier = (binary_expression "(int)local_b4 * 6" (cast_expression "(int)local_b4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) }))) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_b4 = (undefined *)local_80;" (assignment_expression "local_b4 = (undefined *)local_80" identifier = (cast_expression "(undefined *)local_80" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (labeled_statement "LAB_000cfe77:\n  sVar5 = sVar5 + 1;" statement_identifier : (expression_statement "sVar5 = sVar5 + 1;" (assignment_expression "sVar5 = sVar5 + 1" identifier = (binary_expression "sVar5 + 1" identifier + number_literal)) ;)) (expression_statement "sVar6 = sVar6 + 1;" (assignment_expression "sVar6 = sVar6 + 1" identifier = (binary_expression "sVar6 + 1" identifier + number_literal)) ;) (expression_statement "sVar7 = sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c;" (assignment_expression "sVar7 = sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c" identifier = (binary_expression "sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c" (binary_expression "sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4" (binary_expression "sVar6 + sVar5 + iVar21 * 5 + (int)local_d0" (binary_expression "sVar6 + sVar5 + iVar21 * 5" (binary_expression "sVar6 + sVar5" identifier + identifier) + (binary_expression "iVar21 * 5" identifier * number_literal)) + (cast_expression "(int)local_d0" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "iVar23 * 4" identifier * number_literal)) + number_literal)) ;) (expression_statement "local_dc = (void *)FUN_0003f0c0(sVar7,0);" (assignment_expression "local_dc = (void *)FUN_0003f0c0(sVar7,0)" identifier = (cast_expression "(void *)FUN_0003f0c0(sVar7,0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003f0c0(sVar7,0)" identifier (argument_list "(sVar7,0)" ( identifier , number_literal ))))) ;) (if_statement "if (local_dc == (void *)0x0) {\n    local_6c = 7;\n    goto LAB_000cfaef;\n  }" if (parenthesized_expression "(local_dc == (void *)0x0)" ( (binary_expression "local_dc == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_6c = 7;\n    goto LAB_000cfaef;\n  }" { (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" identifier = number_literal) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) (expression_statement "bVar28 = cVar1 == '4';" (assignment_expression "bVar28 = cVar1 == '4'" identifier = (binary_expression "cVar1 == '4'" identifier == (char_literal "'4'" ' character '))) ;) (expression_statement "memset(local_dc,0,sVar7);" (call_expression "memset(local_dc,0,sVar7)" identifier (argument_list "(local_dc,0,sVar7)" ( identifier , number_literal , identifier ))) ;) (expression_statement "*(int *)((int)local_dc + 0x18) = iVar21;" (assignment_expression "*(int *)((int)local_dc + 0x18) = iVar21" (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)local_dc + 0x30) = 0xff;" (assignment_expression "*(undefined4 *)((int)local_dc + 0x30) = 0xff" (pointer_expression "*(undefined4 *)((int)local_dc + 0x30)" * (cast_expression "(undefined4 *)((int)local_dc + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x30)" ( (binary_expression "(int)local_dc + 0x30" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)((int)local_dc + 0x24) = local_68;" (assignment_expression "*(int **)((int)local_dc + 0x24) = local_68" (pointer_expression "*(int **)((int)local_dc + 0x24)" * (cast_expression "(int **)((int)local_dc + 0x24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x24)" ( (binary_expression "(int)local_dc + 0x24" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)local_dc + 0xc) = param_2;" (assignment_expression "*(undefined4 *)((int)local_dc + 0xc) = param_2" (pointer_expression "*(undefined4 *)((int)local_dc + 0xc)" * (cast_expression "(undefined4 *)((int)local_dc + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xc)" ( (binary_expression "(int)local_dc + 0xc" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)local_dc + 0x1c) = (int)local_dc + 0x11c;" (assignment_expression "*(int *)((int)local_dc + 0x1c) = (int)local_dc + 0x11c" (pointer_expression "*(int *)((int)local_dc + 0x1c)" * (cast_expression "(int *)((int)local_dc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_dc + 0x11c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(bool *)((int)local_dc + 0xe9) = bVar28;" (assignment_expression "*(bool *)((int)local_dc + 0xe9) = bVar28" (pointer_expression "*(bool *)((int)local_dc + 0xe9)" * (cast_expression "(bool *)((int)local_dc + 0xe9)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe9)" ( (binary_expression "(int)local_dc + 0xe9" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(bool *)((int)local_dc + 0xe8) = bVar28;" (assignment_expression "*(bool *)((int)local_dc + 0xe8) = bVar28" (pointer_expression "*(bool *)((int)local_dc + 0xe8)" * (cast_expression "(bool *)((int)local_dc + 0xe8)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe8)" ( (binary_expression "(int)local_dc + 0xe8" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(byte *)((int)local_dc + 0xea) = (bVar3 ^ 1) & bVar28;" (assignment_expression "*(byte *)((int)local_dc + 0xea) = (bVar3 ^ 1) & bVar28" (pointer_expression "*(byte *)((int)local_dc + 0xea)" * (cast_expression "(byte *)((int)local_dc + 0xea)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xea)" ( (binary_expression "(int)local_dc + 0xea" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(bVar3 ^ 1) & bVar28" (parenthesized_expression "(bVar3 ^ 1)" ( (binary_expression "bVar3 ^ 1" identifier ^ number_literal) )) & identifier)) ;) (expression_statement "*(bool *)((int)local_dc + 0xeb) = bVar29;" (assignment_expression "*(bool *)((int)local_dc + 0xeb) = bVar29" (pointer_expression "*(bool *)((int)local_dc + 0xeb)" * (cast_expression "(bool *)((int)local_dc + 0xeb)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xeb)" ( (binary_expression "(int)local_dc + 0xeb" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)local_dc + 0x108) = 0;" (assignment_expression "*(undefined4 *)((int)local_dc + 0x108) = 0" (pointer_expression "*(undefined4 *)((int)local_dc + 0x108)" * (cast_expression "(undefined4 *)((int)local_dc + 0x108)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x108)" ( (binary_expression "(int)local_dc + 0x108" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)local_dc + 0x104) = 0x100000;" (assignment_expression "*(undefined4 *)((int)local_dc + 0x104) = 0x100000" (pointer_expression "*(undefined4 *)((int)local_dc + 0x104)" * (cast_expression "(undefined4 *)((int)local_dc + 0x104)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x104)" ( (binary_expression "(int)local_dc + 0x104" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(byte **)((int)local_dc + 0x28) = local_ac;" (assignment_expression "*(byte **)((int)local_dc + 0x28) = local_ac" (pointer_expression "*(byte **)((int)local_dc + 0x28)" * (cast_expression "(byte **)((int)local_dc + 0x28)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x28)" ( (binary_expression "(int)local_dc + 0x28" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)((int)local_dc + 0x2c) = local_9c;" (assignment_expression "*(byte **)((int)local_dc + 0x2c) = local_9c" (pointer_expression "*(byte **)((int)local_dc + 0x2c)" * (cast_expression "(byte **)((int)local_dc + 0x2c)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x2c)" ( (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pvVar10 = (void *)((int)local_dc + 0x11c + iVar21 * 4);" (assignment_expression "pvVar10 = (void *)((int)local_dc + 0x11c + iVar21 * 4)" identifier = (cast_expression "(void *)((int)local_dc + 0x11c + iVar21 * 4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x11c + iVar21 * 4)" ( (binary_expression "(int)local_dc + 0x11c + iVar21 * 4" (binary_expression "(int)local_dc + 0x11c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) + (binary_expression "iVar21 * 4" identifier * number_literal)) )))) ;) (expression_statement "*(void **)((int)local_dc + 0x100) = pvVar10;" (assignment_expression "*(void **)((int)local_dc + 0x100) = pvVar10" (pointer_expression "*(void **)((int)local_dc + 0x100)" * (cast_expression "(void **)((int)local_dc + 0x100)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x100)" ( (binary_expression "(int)local_dc + 0x100" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "memcpy(pvVar10,local_bc,local_80 * 0x18);" (call_expression "memcpy(pvVar10,local_bc,local_80 * 0x18)" identifier (argument_list "(pvVar10,local_bc,local_80 * 0x18)" ( identifier , identifier , (binary_expression "local_80 * 0x18" identifier * number_literal) ))) ;) (expression_statement "sVar7 = 0;" (assignment_expression "sVar7 = 0" identifier = number_literal) ;) (expression_statement "*(undefined **)((int)local_dc + 0xfc) = local_b4;" (assignment_expression "*(undefined **)((int)local_dc + 0xfc) = local_b4" (pointer_expression "*(undefined **)((int)local_dc + 0xfc)" * (cast_expression "(undefined **)((int)local_dc + 0xfc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0xfc)" ( (binary_expression "(int)local_dc + 0xfc" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (local_b4 != (undefined *)0x0) {\n    do {\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    } while (local_b4 != (undefined *)sVar11);\n  }" if (parenthesized_expression "(local_b4 != (undefined *)0x0)" ( (binary_expression "local_b4 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    do {\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    } while (local_b4 != (undefined *)sVar11);\n  }" { (do_statement "do {\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    } while (local_b4 != (undefined *)sVar11);" do (compound_statement "{\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    }" { (expression_statement "sVar11 = sVar7 + 1;" (assignment_expression "sVar11 = sVar7 + 1" identifier = (binary_expression "sVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;" (assignment_expression "iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18" identifier = (binary_expression "*(int *)((int)local_dc + 0x100) + sVar7 * 0x18" (pointer_expression "*(int *)((int)local_dc + 0x100)" * (cast_expression "(int *)((int)local_dc + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x100)" ( (binary_expression "(int)local_dc + 0x100" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (binary_expression "sVar7 * 0x18" identifier * number_literal))) ;) (expression_statement "*(undefined2 *)(iVar23 + 4) = 0x101;" (assignment_expression "*(undefined2 *)(iVar23 + 4) = 0x101" (pointer_expression "*(undefined2 *)(iVar23 + 4)" * (cast_expression "(undefined2 *)(iVar23 + 4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 4)" ( (binary_expression "iVar23 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar23 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(iVar23 + 0xc) = 0" (pointer_expression "*(undefined4 *)(iVar23 + 0xc)" * (cast_expression "(undefined4 *)(iVar23 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xc)" ( (binary_expression "iVar23 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar23 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar23 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar23 + 8)" * (cast_expression "(undefined4 *)(iVar23 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 8)" ( (binary_expression "iVar23 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar23 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar23 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar23 + 0x10)" * (cast_expression "(undefined4 *)(iVar23 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x10)" ( (binary_expression "iVar23 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar23 + 0x14) = 0;" (assignment_expression "*(undefined4 *)(iVar23 + 0x14) = 0" (pointer_expression "*(undefined4 *)(iVar23 + 0x14)" * (cast_expression "(undefined4 *)(iVar23 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x14)" ( (binary_expression "iVar23 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar7 = sVar11;" (assignment_expression "sVar7 = sVar11" identifier = identifier) ;) }) while (parenthesized_expression "(local_b4 != (undefined *)sVar11)" ( (binary_expression "local_b4 != (undefined *)sVar11" identifier != (cast_expression "(undefined *)sVar11" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) })) (expression_statement "iVar23 = local_80 * 0x18 + *(int *)((int)local_dc + 0x100);" (assignment_expression "iVar23 = local_80 * 0x18 + *(int *)((int)local_dc + 0x100)" identifier = (binary_expression "local_80 * 0x18 + *(int *)((int)local_dc + 0x100)" (binary_expression "local_80 * 0x18" identifier * number_literal) + (pointer_expression "*(int *)((int)local_dc + 0x100)" * (cast_expression "(int *)((int)local_dc + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x100)" ( (binary_expression "(int)local_dc + 0x100" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) (expression_statement "*(int *)((int)local_dc + 0x20) = iVar23;" (assignment_expression "*(int *)((int)local_dc + 0x20) = iVar23" (pointer_expression "*(int *)((int)local_dc + 0x20)" * (cast_expression "(int *)((int)local_dc + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x20)" ( (binary_expression "(int)local_dc + 0x20" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pvVar10 = (void *)(iVar23 + iVar21);" (assignment_expression "pvVar10 = (void *)(iVar23 + iVar21)" identifier = (cast_expression "(void *)(iVar23 + iVar21)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar21)" ( (binary_expression "iVar23 + iVar21" identifier + identifier) )))) ;) (expression_statement "*(void **)((int)local_dc + 0x14) = pvVar10;" (assignment_expression "*(void **)((int)local_dc + 0x14) = pvVar10" (pointer_expression "*(void **)((int)local_dc + 0x14)" * (cast_expression "(void **)((int)local_dc + 0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x14)" ( (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pvVar24 = (void *)((int)pvVar10 + sVar6);" (assignment_expression "pvVar24 = (void *)((int)pvVar10 + sVar6)" identifier = (cast_expression "(void *)((int)pvVar10 + sVar6)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar10 + sVar6)" ( (binary_expression "(int)pvVar10 + sVar6" (cast_expression "(int)pvVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "memcpy(pvVar10,(void *)param_4[2],sVar6);" (call_expression "memcpy(pvVar10,(void *)param_4[2],sVar6)" identifier (argument_list "(pvVar10,(void *)param_4[2],sVar6)" ( identifier , (cast_expression "(void *)param_4[2]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[2]" identifier [ number_literal ])) , identifier ))) ;) (expression_statement "*(void **)((int)local_dc + 0x10) = pvVar24;" (assignment_expression "*(void **)((int)local_dc + 0x10) = pvVar24" (pointer_expression "*(void **)((int)local_dc + 0x10)" * (cast_expression "(void **)((int)local_dc + 0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x10)" ( (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pvVar10 = (void *)((int)pvVar24 + sVar5);" (assignment_expression "pvVar10 = (void *)((int)pvVar24 + sVar5)" identifier = (cast_expression "(void *)((int)pvVar24 + sVar5)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar24 + sVar5)" ( (binary_expression "(int)pvVar24 + sVar5" (cast_expression "(int)pvVar24" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (expression_statement "memcpy(pvVar24,(void *)param_4[1],sVar5);" (call_expression "memcpy(pvVar24,(void *)param_4[1],sVar5)" identifier (argument_list "(pvVar24,(void *)param_4[1],sVar5)" ( identifier , (cast_expression "(void *)param_4[1]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ])) , identifier ))) ;) (if_statement "if (0 < iVar21) {\n    do {\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    } while (iVar21 * 4 != iVar23);\n    local_c8 = (undefined *)0x0;\n    do {\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    } while (local_c8 != (undefined *)iVar21);\n  }" if (parenthesized_expression "(0 < iVar21)" ( (binary_expression "0 < iVar21" number_literal < identifier) )) (compound_statement "{\n    do {\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    } while (iVar21 * 4 != iVar23);\n    local_c8 = (undefined *)0x0;\n    do {\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    } while (local_c8 != (undefined *)iVar21);\n  }" { (do_statement "do {\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    } while (iVar21 * 4 != iVar23);" do (compound_statement "{\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    }" { (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "pvVar24 = (void *)FUN_0001ea80();" (assignment_expression "pvVar24 = (void *)FUN_0001ea80()" identifier = (cast_expression "(void *)FUN_0001ea80()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001ea80()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }" if (parenthesized_expression "(0 < (int)local_64)" ( (binary_expression "0 < (int)local_64" number_literal < (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        memcpy(pvVar10,pvVar24,local_64);\n      }" { (expression_statement "memcpy(pvVar10,pvVar24,local_64);" (call_expression "memcpy(pvVar10,pvVar24,local_64)" identifier (argument_list "(pvVar10,pvVar24,local_64)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "*(undefined1 *)((int)pvVar10 + local_64) = 0;" (assignment_expression "*(undefined1 *)((int)pvVar10 + local_64) = 0" (pointer_expression "*(undefined1 *)((int)pvVar10 + local_64)" * (cast_expression "(undefined1 *)((int)pvVar10 + local_64)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar10 + local_64)" ( (binary_expression "(int)pvVar10 + local_64" (cast_expression "(int)pvVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "FUN_0001d8b0();" (call_expression "FUN_0001d8b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;" (assignment_expression "*(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10" (pointer_expression "*(void **)(*(int *)((int)local_dc + 0x1c) + iVar23)" * (cast_expression "(void **)(*(int *)((int)local_dc + 0x1c) + iVar23)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + iVar23)" ( (binary_expression "*(int *)((int)local_dc + 0x1c) + iVar23" (pointer_expression "*(int *)((int)local_dc + 0x1c)" * (cast_expression "(int *)((int)local_dc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + identifier) )))) = identifier) ;) (expression_statement "iVar23 = iVar23 + 4;" (assignment_expression "iVar23 = iVar23 + 4" identifier = (binary_expression "iVar23 + 4" identifier + number_literal)) ;) (expression_statement "pvVar10 = (void *)((int)pvVar10 + local_64 + 1);" (assignment_expression "pvVar10 = (void *)((int)pvVar10 + local_64 + 1)" identifier = (cast_expression "(void *)((int)pvVar10 + local_64 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar10 + local_64 + 1)" ( (binary_expression "(int)pvVar10 + local_64 + 1" (binary_expression "(int)pvVar10 + local_64" (cast_expression "(int)pvVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(iVar21 * 4 != iVar23)" ( (binary_expression "iVar21 * 4 != iVar23" (binary_expression "iVar21 * 4" identifier * number_literal) != identifier) )) ;) (expression_statement "local_c8 = (undefined *)0x0;" (assignment_expression "local_c8 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    } while (local_c8 != (undefined *)iVar21);" do (compound_statement "{\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    }" { (expression_statement "sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));" (assignment_expression "sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4))" identifier = (call_expression "strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4))" identifier (argument_list "(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4))" ( (pointer_expression "*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" * (cast_expression "(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" ( (binary_expression "*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4" (pointer_expression "*(int *)((int)local_dc + 0x1c)" * (cast_expression "(int *)((int)local_dc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (binary_expression "(int)local_c8 * 4" (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) )))) ;) (expression_statement "piVar22 = local_c0;" (assignment_expression "piVar22 = local_c0" identifier = identifier) ;) (if_statement "if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }" if (parenthesized_expression "(local_b0 != 0)" ( (binary_expression "local_b0 != 0" identifier != number_literal) )) (compound_statement "{\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }" { (do_statement "do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);" do (compound_statement "{\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        }" { (while_statement "while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }" while (parenthesized_expression "(((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0)))" ( (parenthesized_expression "((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))" ( (binary_expression "(pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0)" (parenthesized_expression "(pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5))" ( (comma_expression "pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)" (assignment_expression "pcVar13 = (char *)*piVar22" identifier = (cast_expression "(char *)*piVar22" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar22" * identifier))) , (binary_expression "pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)" (binary_expression "pcVar13 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(sVar5 = strlen(pcVar13), sVar7 == sVar5)" ( (comma_expression "sVar5 = strlen(pcVar13), sVar7 == sVar5" (assignment_expression "sVar5 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) , (binary_expression "sVar7 == sVar5" identifier == identifier)) )))) )) && (parenthesized_expression "(iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0)" ( (comma_expression "iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0" (assignment_expression "iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7)" identifier = (call_expression "FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7)" identifier (argument_list "(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7)" ( (pointer_expression "*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" * (cast_expression "(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" ( (binary_expression "*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4" (pointer_expression "*(int *)((int)local_dc + 0x1c)" * (cast_expression "(int *)((int)local_dc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (binary_expression "(int)local_c8 * 4" (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) , identifier , identifier )))) , (binary_expression "iVar23 == 0" identifier == number_literal)) ))) )) )) (compound_statement "{\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }" { (expression_statement "piVar25 = piVar22 + 1;" (assignment_expression "piVar25 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;" (assignment_expression "*(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1" (pointer_expression "*(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8)" * (cast_expression "(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)local_dc + 0x20) + (int)local_c8)" ( (binary_expression "*(int *)((int)local_dc + 0x20) + (int)local_c8" (pointer_expression "*(int *)((int)local_dc + 0x20)" * (cast_expression "(int *)((int)local_dc + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x20)" ( (binary_expression "(int)local_dc + 0x20" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = number_literal) ;) (expression_statement "FUN_00024cc0(pcVar13);" (call_expression "FUN_00024cc0(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) (expression_statement "*piVar22 = 0;" (assignment_expression "*piVar22 = 0" (pointer_expression "*piVar22" * identifier) = number_literal) ;) (expression_statement "piVar22 = piVar25;" (assignment_expression "piVar22 = piVar25" identifier = identifier) ;) (if_statement "if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;" if (parenthesized_expression "(local_c0 + local_b0 == piVar25)" ( (binary_expression "local_c0 + local_b0 == piVar25" (binary_expression "local_c0 + local_b0" identifier + identifier) == identifier) )) (goto_statement "goto LAB_000d0168;" goto statement_identifier ;)) })) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_c0 + local_b0 != piVar22)" ( (binary_expression "local_c0 + local_b0 != piVar22" (binary_expression "local_c0 + local_b0" identifier + identifier) != identifier) )) ;) })) (labeled_statement "LAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);" statement_identifier : (expression_statement "local_c8 = (undefined *)((int)local_c8 + 1);" (assignment_expression "local_c8 = (undefined *)((int)local_c8 + 1)" identifier = (cast_expression "(undefined *)((int)local_c8 + 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_c8 + 1)" ( (binary_expression "(int)local_c8 + 1" (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) }) while (parenthesized_expression "(local_c8 != (undefined *)iVar21)" ( (binary_expression "local_c8 != (undefined *)iVar21" identifier != (cast_expression "(undefined *)iVar21" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) })) (expression_statement "piVar22 = local_c0;" (assignment_expression "piVar22 = local_c0" identifier = identifier) ;) (if_statement "if (local_b0 != 0) {\n    do {\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    } while (local_c0 + local_b0 != piVar22);\n  }" if (parenthesized_expression "(local_b0 != 0)" ( (binary_expression "local_b0 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    } while (local_c0 + local_b0 != piVar22);\n  }" { (do_statement "do {\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    } while (local_c0 + local_b0 != piVar22);" do (compound_statement "{\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    }" { (if_statement "if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }" if (parenthesized_expression "(*piVar22 != 0)" ( (binary_expression "*piVar22 != 0" (pointer_expression "*piVar22" * identifier) != number_literal) )) (compound_statement "{\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }" { (expression_statement "FUN_00071050(param_6,"no such column: %s",*piVar22);" (call_expression "FUN_00071050(param_6,"no such column: %s",*piVar22)" identifier (argument_list "(param_6,"no such column: %s",*piVar22)" ( identifier , (string_literal ""no such column: %s"" " string_content ") , (pointer_expression "*piVar22" * identifier) ))) ;) (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" identifier = number_literal) ;) })) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_c0 + local_b0 != piVar22)" ( (binary_expression "local_c0 + local_b0 != piVar22" (binary_expression "local_c0 + local_b0" identifier + identifier) != identifier) )) ;) })) (if_statement "if ((local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {\n    local_6c = 1;\n    pcVar13 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar13 = "compress";\n    }\n    FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);\n  }" if (parenthesized_expression "((local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0)))" ( (binary_expression "(local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))" (parenthesized_expression "(local_6c == 0)" ( (binary_expression "local_6c == 0" identifier == number_literal) )) && (parenthesized_expression "((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))" ( (binary_expression "(local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0)" (parenthesized_expression "(local_a4 == (byte *)0x0)" ( (binary_expression "local_a4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) != (parenthesized_expression "(local_a0 == (byte *)0x0)" ( (binary_expression "local_a0 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) ))) )) (compound_statement "{\n    local_6c = 1;\n    pcVar13 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar13 = "compress";\n    }\n    FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);\n  }" { (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" identifier = number_literal) ;) (expression_statement "pcVar13 = "uncompress";" (assignment_expression "pcVar13 = "uncompress"" identifier = (string_literal ""uncompress"" " string_content ")) ;) (if_statement "if (local_a4 == (byte *)0x0) {\n      pcVar13 = "compress";\n    }" if (parenthesized_expression "(local_a4 == (byte *)0x0)" ( (binary_expression "local_a4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar13 = "compress";\n    }" { (expression_statement "pcVar13 = "compress";" (assignment_expression "pcVar13 = "compress"" identifier = (string_literal ""compress"" " string_content ")) ;) })) (expression_statement "FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);" (call_expression "FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13)" identifier (argument_list "(param_6,"missing %s parameter in fts4 constructor",pcVar13)" ( identifier , (string_literal ""missing %s parameter in fts4 constructor"" " string_content ") , identifier ))) ;) })) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)((int)local_dc + 0x28) == 0) {\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }\n    else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }\n    iVar21 = 0;\n    FUN_00076c30(&local_6c,&local_64,"docid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }\n    FUN_00024cc0(local_b4);\n  }\n  else {\n    FUN_00076c30(&local_6c,&local_64,"rowid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }\n  }" if (parenthesized_expression "(*(int *)((int)local_dc + 0x28) == 0)" ( (binary_expression "*(int *)((int)local_dc + 0x28) == 0" (pointer_expression "*(int *)((int)local_dc + 0x28)" * (cast_expression "(int *)((int)local_dc + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x28)" ( (binary_expression "(int)local_dc + 0x28" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }\n    else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }\n    iVar21 = 0;\n    FUN_00076c30(&local_6c,&local_64,"docid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }\n    FUN_00024cc0(local_b4);\n  }" { (if_statement "if (local_a0 == (byte *)0x0) {\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }\n    else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }" if (parenthesized_expression "(local_a0 == (byte *)0x0)" ( (binary_expression "local_a0 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }" { (expression_statement "local_d0 = &DAT_000f50ff;" (assignment_expression "local_d0 = &DAT_000f50ff" identifier = (pointer_expression "&DAT_000f50ff" & identifier)) ;) (expression_statement "local_b4 = (undefined *)0x0;" (assignment_expression "local_b4 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }" else (compound_statement "{\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }" { (expression_statement "local_d0 = (undefined *)FUN_00041e40();" (assignment_expression "local_d0 = (undefined *)FUN_00041e40()" identifier = (cast_expression "(undefined *)FUN_00041e40()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00041e40()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_b4 = local_d0;" (assignment_expression "local_b4 = local_d0" identifier = identifier) ;) }))) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "FUN_00076c30(&local_6c,&local_64,"docid");" (call_expression "FUN_00076c30(&local_6c,&local_64,"docid")" identifier (argument_list "(&local_6c,&local_64,"docid")" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (string_literal ""docid"" " string_content ") ))) ;) (if_statement "if (0 < *(int *)((int)local_dc + 0x18)) {\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }" if (parenthesized_expression "(0 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "0 < *(int *)((int)local_dc + 0x18)" number_literal < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }" { (do_statement "do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));" do (compound_statement "{\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      }" { (expression_statement "iVar23 = iVar21 + 1;" (assignment_expression "iVar23 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));" (call_expression "FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4))" identifier (argument_list "(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4))" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (string_literal "",%s(x.\'c%d%q\')"" " string_content escape_sequence string_content escape_sequence string_content ") , identifier , identifier , (pointer_expression "*(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4)" * (cast_expression "(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + iVar21 * 4)" ( (binary_expression "*(int *)((int)local_dc + 0x1c) + iVar21 * 4" (pointer_expression "*(int *)((int)local_dc + 0x1c)" * (cast_expression "(int *)((int)local_dc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (binary_expression "iVar21 * 4" identifier * number_literal)) )))) ))) ;) (expression_statement "iVar21 = iVar23;" (assignment_expression "iVar21 = iVar23" identifier = identifier) ;) }) while (parenthesized_expression "(iVar23 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "iVar23 < *(int *)((int)local_dc + 0x18)" identifier < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) ;) })) (if_statement "if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }" if (parenthesized_expression "(*(int *)((int)local_dc + 0x2c) != 0)" ( (binary_expression "*(int *)((int)local_dc + 0x2c) != 0" (pointer_expression "*(int *)((int)local_dc + 0x2c)" * (cast_expression "(int *)((int)local_dc + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x2c)" ( (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }" { (expression_statement "FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");" (call_expression "FUN_00076c30(&local_6c,&local_64,", x.%Q","langid")" identifier (argument_list "(&local_6c,&local_64,", x.%Q","langid")" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (string_literal "", x.%Q"" " string_content ") , (string_literal ""langid"" " string_content ") ))) ;) })) (expression_statement "FUN_00024cc0(local_b4);" (call_expression "FUN_00024cc0(local_b4)" identifier (argument_list "(local_b4)" ( identifier ))) ;) }) (else_clause "else {\n    FUN_00076c30(&local_6c,&local_64,"rowid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }\n  }" else (compound_statement "{\n    FUN_00076c30(&local_6c,&local_64,"rowid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }\n  }" { (expression_statement "FUN_00076c30(&local_6c,&local_64,"rowid");" (call_expression "FUN_00076c30(&local_6c,&local_64,"rowid")" identifier (argument_list "(&local_6c,&local_64,"rowid")" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (string_literal ""rowid"" " string_content ") ))) ;) (if_statement "if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }" if (parenthesized_expression "(0 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "0 < *(int *)((int)local_dc + 0x18)" number_literal < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }" { (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));" do (compound_statement "{\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      }" { (expression_statement "iVar23 = iVar21 * 4;" (assignment_expression "iVar23 = iVar21 * 4" identifier = (binary_expression "iVar21 * 4" identifier * number_literal)) ;) (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));" (call_expression "FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23))" identifier (argument_list "(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23))" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (string_literal "", x.\'%q\'"" " string_content escape_sequence string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23)" * (cast_expression "(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + iVar23)" ( (binary_expression "*(int *)((int)local_dc + 0x1c) + iVar23" (pointer_expression "*(int *)((int)local_dc + 0x1c)" * (cast_expression "(int *)((int)local_dc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + identifier) )))) ))) ;) }) while (parenthesized_expression "(iVar21 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "iVar21 < *(int *)((int)local_dc + 0x18)" identifier < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) ;) })) (if_statement "if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }" if (parenthesized_expression "(*(int *)((int)local_dc + 0x2c) != 0)" ( (binary_expression "*(int *)((int)local_dc + 0x2c) != 0" (pointer_expression "*(int *)((int)local_dc + 0x2c)" * (cast_expression "(int *)((int)local_dc + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x2c)" ( (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }" { (expression_statement "FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));" (call_expression "FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c))" identifier (argument_list "(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c))" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (string_literal "", x.%Q"" " string_content ") , (pointer_expression "*(int *)((int)local_dc + 0x2c)" * (cast_expression "(int *)((int)local_dc + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x2c)" ( (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) }))) (expression_statement "iVar21 = *(int *)((int)local_dc + 0x28);" (assignment_expression "iVar21 = *(int *)((int)local_dc + 0x28)" identifier = (pointer_expression "*(int *)((int)local_dc + 0x28)" * (cast_expression "(int *)((int)local_dc + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x28)" ( (binary_expression "(int)local_dc + 0x28" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar21 == 0) {\n    pcVar13 = "_content";\n    iVar21 = *(int *)((int)local_dc + 0x14);\n  }\n  else {\n    pcVar13 = "";\n  }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar13 = "_content";\n    iVar21 = *(int *)((int)local_dc + 0x14);\n  }" { (expression_statement "pcVar13 = "_content";" (assignment_expression "pcVar13 = "_content"" identifier = (string_literal ""_content"" " string_content ")) ;) (expression_statement "iVar21 = *(int *)((int)local_dc + 0x14);" (assignment_expression "iVar21 = *(int *)((int)local_dc + 0x14)" identifier = (pointer_expression "*(int *)((int)local_dc + 0x14)" * (cast_expression "(int *)((int)local_dc + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x14)" ( (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }) (else_clause "else {\n    pcVar13 = "";\n  }" else (compound_statement "{\n    pcVar13 = "";\n  }" { (expression_statement "pcVar13 = "";" (assignment_expression "pcVar13 = """ identifier = (string_literal """" " ")) ;) }))) (expression_statement "FUN_00076c30(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",\n               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13);" (call_expression "FUN_00076c30(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",\n               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13)" identifier (argument_list "(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",\n               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13)" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (string_literal "" FROM \'%q\'.\'%q%s\' AS x"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" * (cast_expression "(undefined4 *)((int)local_dc + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x10)" ( (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "*(size_t *)((int)local_dc + 0xdc) = local_64;" (assignment_expression "*(size_t *)((int)local_dc + 0xdc) = local_64" (pointer_expression "*(size_t *)((int)local_dc + 0xdc)" * (cast_expression "(size_t *)((int)local_dc + 0xdc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xdc)" ( (binary_expression "(int)local_dc + 0xdc" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (if_statement "if (local_a4 == (byte *)0x0) {\n    local_c8 = (undefined *)0x0;\n    puVar12 = &DAT_000f50ff;\n  }\n  else {\n    puVar12 = (undefined *)FUN_00041e40();\n    local_c8 = puVar12;\n  }" if (parenthesized_expression "(local_a4 == (byte *)0x0)" ( (binary_expression "local_a4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_c8 = (undefined *)0x0;\n    puVar12 = &DAT_000f50ff;\n  }" { (expression_statement "local_c8 = (undefined *)0x0;" (assignment_expression "local_c8 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar12 = &DAT_000f50ff;" (assignment_expression "puVar12 = &DAT_000f50ff" identifier = (pointer_expression "&DAT_000f50ff" & identifier)) ;) }) (else_clause "else {\n    puVar12 = (undefined *)FUN_00041e40();\n    local_c8 = puVar12;\n  }" else (compound_statement "{\n    puVar12 = (undefined *)FUN_00041e40();\n    local_c8 = puVar12;\n  }" { (expression_statement "puVar12 = (undefined *)FUN_00041e40();" (assignment_expression "puVar12 = (undefined *)FUN_00041e40()" identifier = (cast_expression "(undefined *)FUN_00041e40()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00041e40()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_c8 = puVar12;" (assignment_expression "local_c8 = puVar12" identifier = identifier) ;) }))) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "psVar30 = &local_64;" (assignment_expression "psVar30 = &local_64" identifier = (pointer_expression "&local_64" & identifier)) ;) (expression_statement "FUN_00076c30(&local_6c,&local_64,&DAT_000f8342);" (call_expression "FUN_00076c30(&local_6c,&local_64,&DAT_000f8342)" identifier (argument_list "(&local_6c,&local_64,&DAT_000f8342)" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (pointer_expression "&DAT_000f8342" & identifier) ))) ;) (if_statement "if (0 < *(int *)((int)local_dc + 0x18)) {\n    do {\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    } while (iVar21 < *(int *)((int)local_dc + 0x18));\n  }" if (parenthesized_expression "(0 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "0 < *(int *)((int)local_dc + 0x18)" number_literal < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n    do {\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    } while (iVar21 < *(int *)((int)local_dc + 0x18));\n  }" { (do_statement "do {\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    } while (iVar21 < *(int *)((int)local_dc + 0x18));" do (compound_statement "{\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    }" { (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "psVar30 = &local_64;" (assignment_expression "psVar30 = &local_64" identifier = (pointer_expression "&local_64" & identifier)) ;) (expression_statement "FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);" (call_expression "FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12)" identifier (argument_list "(&local_6c,&local_64,",%s(?)",puVar12)" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (string_literal "",%s(?)"" " string_content ") , identifier ))) ;) }) while (parenthesized_expression "(iVar21 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "iVar21 < *(int *)((int)local_dc + 0x18)" identifier < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) ;) })) (if_statement "if (*(int *)((int)local_dc + 0x2c) != 0) {\n    psVar30 = &local_64;\n    FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);\n  }" if (parenthesized_expression "(*(int *)((int)local_dc + 0x2c) != 0)" ( (binary_expression "*(int *)((int)local_dc + 0x2c) != 0" (pointer_expression "*(int *)((int)local_dc + 0x2c)" * (cast_expression "(int *)((int)local_dc + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x2c)" ( (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n    psVar30 = &local_64;\n    FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);\n  }" { (expression_statement "psVar30 = &local_64;" (assignment_expression "psVar30 = &local_64" identifier = (pointer_expression "&local_64" & identifier)) ;) (expression_statement "FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);" (call_expression "FUN_00076c30(&local_6c,&local_64,&DAT_000f8340)" identifier (argument_list "(&local_6c,&local_64,&DAT_000f8340)" ( (pointer_expression "&local_6c" & identifier) , (pointer_expression "&local_64" & identifier) , (pointer_expression "&DAT_000f8340" & identifier) ))) ;) })) (expression_statement "FUN_00024cc0(local_c8);" (call_expression "FUN_00024cc0(local_c8)" identifier (argument_list "(local_c8)" ( identifier ))) ;) (expression_statement "*(size_t *)((int)local_dc + 0xe0) = local_64;" (assignment_expression "*(size_t *)((int)local_dc + 0xe0) = local_64" (pointer_expression "*(size_t *)((int)local_dc + 0xe0)" * (cast_expression "(size_t *)((int)local_dc + 0xe0)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe0)" ( (binary_expression "(int)local_dc + 0xe0" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (local_6c == 0) {\n    if (param_1 == 0) {\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }\n    else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);\n    if (sVar7 == 0) {\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }\n    pcVar13 = "__langid";\n    if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }\n    FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);\n    iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));\n    if (iVar21 == 0) {\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }\n    else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }\n    FUN_00024cc0(iVar23);\n    FUN_00024cc0(iVar21);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    local_6c = sVar7;\n  }\n  else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }" if (parenthesized_expression "(local_6c == 0)" ( (binary_expression "local_6c == 0" identifier == number_literal) )) (compound_statement "{\n    if (param_1 == 0) {\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }\n    else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);\n    if (sVar7 == 0) {\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }\n    pcVar13 = "__langid";\n    if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }\n    FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);\n    iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));\n    if (iVar21 == 0) {\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }\n    else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }\n    FUN_00024cc0(iVar23);\n    FUN_00024cc0(iVar21);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    local_6c = sVar7;\n  }" { (if_statement "if (param_1 == 0) {\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }\n    else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }" { (if_statement "if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }" if (parenthesized_expression "(cVar1 != '4')" ( (binary_expression "cVar1 != '4'" identifier != (char_literal "'4'" ' character ')) )) (compound_statement "{\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }" { (expression_statement "*(undefined1 *)((int)local_dc + 0xe9) = 2;" (assignment_expression "*(undefined1 *)((int)local_dc + 0xe9) = 2" (pointer_expression "*(undefined1 *)((int)local_dc + 0xe9)" * (cast_expression "(undefined1 *)((int)local_dc + 0xe9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe9)" ( (binary_expression "(int)local_dc + 0xe9" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) }) (else_clause "else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }" else (compound_statement "{\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }" { (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "uVar17 = *(undefined4 *)((int)local_dc + 0xc);" (assignment_expression "uVar17 = *(undefined4 *)((int)local_dc + 0xc)" identifier = (pointer_expression "*(undefined4 *)((int)local_dc + 0xc)" * (cast_expression "(undefined4 *)((int)local_dc + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xc)" ( (binary_expression "(int)local_dc + 0xc" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }" if (parenthesized_expression "(*(int *)((int)local_dc + 0x28) == 0)" ( (binary_expression "*(int *)((int)local_dc + 0x28) == 0" (pointer_expression "*(int *)((int)local_dc + 0x28)" * (cast_expression "(int *)((int)local_dc + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x28)" ( (binary_expression "(int)local_dc + 0x28" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }" { (expression_statement "iVar21 = *(int *)((int)local_dc + 0x2c);" (assignment_expression "iVar21 = *(int *)((int)local_dc + 0x2c)" identifier = (pointer_expression "*(int *)((int)local_dc + 0x2c)" * (cast_expression "(int *)((int)local_dc + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x2c)" ( (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");" (assignment_expression "psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY")" identifier = (cast_expression "(size_t *)FUN_00071090("docid INTEGER PRIMARY KEY")" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00071090("docid INTEGER PRIMARY KEY")" identifier (argument_list "("docid INTEGER PRIMARY KEY")" ( (string_literal ""docid INTEGER PRIMARY KEY"" " string_content ") ))))) ;) (if_statement "if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }" if (parenthesized_expression "(psVar16 == (size_t *)0x0)" ( (binary_expression "psVar16 == (size_t *)0x0" identifier == (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }" { (labeled_statement "LAB_000d0ffd:\n          local_64 = 7;" statement_identifier : (expression_statement "local_64 = 7;" (assignment_expression "local_64 = 7" identifier = number_literal) ;)) (expression_statement "psVar16 = (size_t *)0x0;" (assignment_expression "psVar16 = (size_t *)0x0" identifier = (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }" else (compound_statement "{\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }" { (if_statement "if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }" if (parenthesized_expression "(0 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "0 < *(int *)((int)local_dc + 0x18)" number_literal < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }" { (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));" do (compound_statement "{\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            }" { (expression_statement "iVar8 = iVar23 + 1;" (assignment_expression "iVar8 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));" (assignment_expression "psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4))" identifier = (cast_expression "(size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4))" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4))" identifier (argument_list "("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4))" ( (string_literal ""%z, \'c%d%q\'"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier , (pointer_expression "*(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4)" * (cast_expression "(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + iVar23 * 4)" ( (binary_expression "*(int *)((int)local_dc + 0x1c) + iVar23 * 4" (pointer_expression "*(int *)((int)local_dc + 0x1c)" * (cast_expression "(int *)((int)local_dc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (binary_expression "iVar23 * 4" identifier * number_literal)) )))) ))))) ;) (if_statement "if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;" if (parenthesized_expression "(psVar16 == (size_t *)0x0)" ( (binary_expression "psVar16 == (size_t *)0x0" identifier == (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d0ffd;" goto statement_identifier ;)) (expression_statement "iVar23 = iVar8;" (assignment_expression "iVar23 = iVar8" identifier = identifier) ;) }) while (parenthesized_expression "(iVar8 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "iVar8 < *(int *)((int)local_dc + 0x18)" identifier < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) ;) })) (if_statement "if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;" if (parenthesized_expression "((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0))" ( (binary_expression "(iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)" (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) && (parenthesized_expression "(psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)" ( (comma_expression "psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0" (assignment_expression "psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21)" identifier = (cast_expression "(size_t *)FUN_00071090("%z, langid",psVar16,iVar21)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00071090("%z, langid",psVar16,iVar21)" identifier (argument_list "("%z, langid",psVar16,iVar21)" ( (string_literal ""%z, langid"" " string_content ") , identifier , identifier ))))) , (binary_expression "psVar16 == (size_t *)0x0" identifier == (cast_expression "(size_t *)0x0" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000d0ffd;" goto statement_identifier ;)) }))) (expression_statement "psVar30 = psVar16;" (assignment_expression "psVar30 = psVar16" identifier = identifier) ;) (expression_statement "FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);" (call_expression "FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16)" identifier (argument_list "(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16)" ( (pointer_expression "&local_64" & identifier) , identifier , (string_literal ""CREATE TABLE %Q.\'%q_content\'(%s)"" " string_content escape_sequence string_content escape_sequence string_content ") , (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" * (cast_expression "(undefined4 *)((int)local_dc + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x10)" ( (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" * (cast_expression "(undefined4 *)((int)local_dc + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x14)" ( (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier ))) ;) (expression_statement "FUN_00024cc0(psVar16);" (call_expression "FUN_00024cc0(psVar16)" identifier (argument_list "(psVar16)" ( identifier ))) ;) })) (expression_statement "FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);" (call_expression "FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30)" identifier (argument_list "(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30)" ( (pointer_expression "&local_64" & identifier) , identifier , (string_literal ""CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);"" " string_content escape_sequence string_content escape_sequence string_content ") , (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" * (cast_expression "(undefined4 *)((int)local_dc + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x10)" ( (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" * (cast_expression "(undefined4 *)((int)local_dc + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x14)" ( (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier ))) ;) (expression_statement "FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));" (call_expression "FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14))" identifier (argument_list "(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14))" ( (pointer_expression "&local_64" & identifier) , identifier , (string_literal ""CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"" " string_content escape_sequence string_content escape_sequence string_content ") , (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" * (cast_expression "(undefined4 *)((int)local_dc + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x10)" ( (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" * (cast_expression "(undefined4 *)((int)local_dc + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x14)" ( (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (if_statement "if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }" if (parenthesized_expression "(*(char *)((int)local_dc + 0xea) != '\0')" ( (binary_expression "*(char *)((int)local_dc + 0xea) != '\0'" (pointer_expression "*(char *)((int)local_dc + 0xea)" * (cast_expression "(char *)((int)local_dc + 0xea)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xea)" ( (binary_expression "(int)local_dc + 0xea" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }" { (expression_statement "FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));" (call_expression "FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14))" identifier (argument_list "(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14))" ( (pointer_expression "&local_64" & identifier) , identifier , (string_literal ""CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);"" " string_content escape_sequence string_content escape_sequence string_content ") , (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" * (cast_expression "(undefined4 *)((int)local_dc + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x10)" ( (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" * (cast_expression "(undefined4 *)((int)local_dc + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x14)" ( (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (if_statement "if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }" if (parenthesized_expression "(*(char *)((int)local_dc + 0xe9) != '\0')" ( (binary_expression "*(char *)((int)local_dc + 0xe9) != '\0'" (pointer_expression "*(char *)((int)local_dc + 0xe9)" * (cast_expression "(char *)((int)local_dc + 0xe9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe9)" ( (binary_expression "(int)local_dc + 0xe9" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        FUN_000c9d90();\n      }" { (expression_statement "FUN_000c9d90();" (call_expression "FUN_000c9d90()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_6c = local_64;" (assignment_expression "local_6c = local_64" identifier = identifier) ;) (if_statement "if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }" if (parenthesized_expression "(local_64 != 0)" ( (binary_expression "local_64 != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }" { (expression_statement "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;" (assignment_expression "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xe4)" * (cast_expression "(int *)((int)local_dc + 0xe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe4)" ( (binary_expression "(int)local_dc + 0xe4" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xf0)" * (cast_expression "(int *)((int)local_dc + 0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xf0)" ( (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_000d0ab0;" goto statement_identifier ;) })) }))) (expression_statement "iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));" (assignment_expression "iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10))" identifier = (call_expression "FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10))" identifier (argument_list "("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10))" ( (string_literal ""PRAGMA %Q.page_size"" " string_content ") , (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" * (cast_expression "(undefined4 *)((int)local_dc + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x10)" ( (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }" { (expression_statement "FUN_00024cc0(0);" (call_expression "FUN_00024cc0(0)" identifier (argument_list "(0)" ( number_literal ))) ;) (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" identifier = number_literal) ;) (expression_statement "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;" (assignment_expression "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xe4)" * (cast_expression "(int *)((int)local_dc + 0xe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe4)" ( (binary_expression "(int)local_dc + 0xe4" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xf0)" * (cast_expression "(int *)((int)local_dc + 0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xf0)" ( (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cfaef;" goto statement_identifier ;) })) (expression_statement "sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);" (assignment_expression "sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0)" identifier = (call_expression "FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0)" identifier (argument_list "(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0)" ( (pointer_expression "*(undefined4 *)((int)local_dc + 0xc)" * (cast_expression "(undefined4 *)((int)local_dc + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xc)" ( (binary_expression "(int)local_dc + 0xc" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier , number_literal , (pointer_expression "&local_64" & identifier) , number_literal )))) ;) (if_statement "if (sVar7 == 0) {\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }" if (parenthesized_expression "(sVar7 == 0)" ( (binary_expression "sVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }" { (expression_statement "FUN_000accc0(local_64);" (call_expression "FUN_000accc0(local_64)" identifier (argument_list "(local_64)" ( identifier ))) ;) (expression_statement "uVar17 = FUN_000384a0(local_64,0);" (assignment_expression "uVar17 = FUN_000384a0(local_64,0)" identifier = (call_expression "FUN_000384a0(local_64,0)" identifier (argument_list "(local_64,0)" ( identifier , number_literal )))) ;) (expression_statement "*(undefined4 *)((int)local_dc + 0xf0) = uVar17;" (assignment_expression "*(undefined4 *)((int)local_dc + 0xf0) = uVar17" (pointer_expression "*(undefined4 *)((int)local_dc + 0xf0)" * (cast_expression "(undefined4 *)((int)local_dc + 0xf0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xf0)" ( (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "sVar7 = FUN_00089c20(local_64);" (assignment_expression "sVar7 = FUN_00089c20(local_64)" identifier = (call_expression "FUN_00089c20(local_64)" identifier (argument_list "(local_64)" ( identifier )))) ;) (labeled_statement "LAB_000d0420:\n      FUN_00024cc0(iVar21);" statement_identifier : (expression_statement "FUN_00024cc0(iVar21);" (call_expression "FUN_00024cc0(iVar21)" identifier (argument_list "(iVar21)" ( identifier ))) ;)) (expression_statement "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;" (assignment_expression "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xe4)" * (cast_expression "(int *)((int)local_dc + 0xe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe4)" ( (binary_expression "(int)local_dc + 0xe4" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xf0)" * (cast_expression "(int *)((int)local_dc + 0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xf0)" ( (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "local_6c = sVar7;" (assignment_expression "local_6c = sVar7" identifier = identifier) ;) (if_statement "if (sVar7 != 0) goto LAB_000d0ab0;" if (parenthesized_expression "(sVar7 != 0)" ( (binary_expression "sVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000d0ab0;" goto statement_identifier ;)) }) (else_clause "else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }" else (compound_statement "{\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }" { (if_statement "if (sVar7 != 0x17) goto LAB_000d0420;" if (parenthesized_expression "(sVar7 != 0x17)" ( (binary_expression "sVar7 != 0x17" identifier != number_literal) )) (goto_statement "goto LAB_000d0420;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)local_dc + 0xf0) = 0x400;" (assignment_expression "*(undefined4 *)((int)local_dc + 0xf0) = 0x400" (pointer_expression "*(undefined4 *)((int)local_dc + 0xf0)" * (cast_expression "(undefined4 *)((int)local_dc + 0xf0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xf0)" ( (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00024cc0(iVar21);" (call_expression "FUN_00024cc0(iVar21)" identifier (argument_list "(iVar21)" ( identifier ))) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;" (assignment_expression "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xe4)" * (cast_expression "(int *)((int)local_dc + 0xe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xe4)" ( (binary_expression "(int)local_dc + 0xe4" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xf0)" * (cast_expression "(int *)((int)local_dc + 0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xf0)" ( (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) }))) (expression_statement "pcVar13 = "__langid";" (assignment_expression "pcVar13 = "__langid"" identifier = (string_literal ""__langid"" " string_content ")) ;) (if_statement "if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }" if (parenthesized_expression "(*(char **)((int)local_dc + 0x2c) != (char *)0x0)" ( (binary_expression "*(char **)((int)local_dc + 0x2c) != (char *)0x0" (pointer_expression "*(char **)((int)local_dc + 0x2c)" * (cast_expression "(char **)((int)local_dc + 0x2c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x2c)" ( (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }" { (expression_statement "pcVar13 = *(char **)((int)local_dc + 0x2c);" (assignment_expression "pcVar13 = *(char **)((int)local_dc + 0x2c)" identifier = (pointer_expression "*(char **)((int)local_dc + 0x2c)" * (cast_expression "(char **)((int)local_dc + 0x2c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x2c)" ( (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) })) (expression_statement "FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);" (call_expression "FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1)" identifier (argument_list "(*(undefined4 *)((int)local_dc + 0xc),1,1)" ( (pointer_expression "*(undefined4 *)((int)local_dc + 0xc)" * (cast_expression "(undefined4 *)((int)local_dc + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xc)" ( (binary_expression "(int)local_dc + 0xc" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , number_literal , number_literal ))) ;) (expression_statement "iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));" (assignment_expression "iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c))" identifier = (call_expression "FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c))" identifier (argument_list "(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c))" ( (pointer_expression "&DAT_000f8377" & identifier) , (pointer_expression "**(undefined4 **)((int)local_dc + 0x1c)" * (pointer_expression "*(undefined4 **)((int)local_dc + 0x1c)" * (cast_expression "(undefined4 **)((int)local_dc + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )))) ;) (if_statement "if (iVar21 == 0) {\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }\n    else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }" { (labeled_statement "LAB_000d04d3:\n      iVar21 = 0;" statement_identifier : (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;)) (expression_statement "sVar7 = 7;" (assignment_expression "sVar7 = 7" identifier = number_literal) ;) (expression_statement "iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);" (assignment_expression "iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" identifier = (call_expression "FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" identifier (argument_list "("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" ( (string_literal ""CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)"" " string_content ") , number_literal , (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" * (cast_expression "(undefined4 *)((int)local_dc + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x14)" ( (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier )))) ;) }) (else_clause "else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }" else (compound_statement "{\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }" { (if_statement "if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }" if (parenthesized_expression "(1 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "1 < *(int *)((int)local_dc + 0x18)" number_literal < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }" { (expression_statement "iVar23 = 1;" (assignment_expression "iVar23 = 1" identifier = number_literal) ;) (do_statement "do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));" do (compound_statement "{\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        }" { (expression_statement "iVar8 = iVar23 * 4;" (assignment_expression "iVar8 = iVar23 * 4" identifier = (binary_expression "iVar23 * 4" identifier * number_literal)) ;) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));" (assignment_expression "iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8))" identifier = (call_expression "FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8))" identifier (argument_list "(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8))" ( (pointer_expression "&DAT_000f8375" & identifier) , identifier , (pointer_expression "*(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8)" * (cast_expression "(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + iVar8)" ( (binary_expression "*(int *)((int)local_dc + 0x1c) + iVar8" (pointer_expression "*(int *)((int)local_dc + 0x1c)" * (cast_expression "(int *)((int)local_dc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x1c)" ( (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + identifier) )))) )))) ;) (if_statement "if (iVar21 == 0) goto LAB_000d04d3;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000d04d3;" goto statement_identifier ;)) }) while (parenthesized_expression "(iVar23 < *(int *)((int)local_dc + 0x18))" ( (binary_expression "iVar23 < *(int *)((int)local_dc + 0x18)" identifier < (pointer_expression "*(int *)((int)local_dc + 0x18)" * (cast_expression "(int *)((int)local_dc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x18)" ( (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) ;) })) (expression_statement "sVar7 = 7;" (assignment_expression "sVar7 = 7" identifier = number_literal) ;) (expression_statement "iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);" (assignment_expression "iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" identifier = (call_expression "FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" identifier (argument_list "("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" ( (string_literal ""CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)"" " string_content ") , identifier , (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" * (cast_expression "(undefined4 *)((int)local_dc + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0x14)" ( (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }" if (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) (compound_statement "{\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }" { (expression_statement "sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);" (assignment_expression "sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23)" identifier = (call_expression "FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23)" identifier (argument_list "(*(undefined4 *)((int)local_dc + 0xc),iVar23)" ( (pointer_expression "*(undefined4 *)((int)local_dc + 0xc)" * (cast_expression "(undefined4 *)((int)local_dc + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_dc + 0xc)" ( (binary_expression "(int)local_dc + 0xc" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier )))) ;) })) }))) (expression_statement "FUN_00024cc0(iVar23);" (call_expression "FUN_00024cc0(iVar23)" identifier (argument_list "(iVar23)" ( identifier ))) ;) (expression_statement "FUN_00024cc0(iVar21);" (call_expression "FUN_00024cc0(iVar21)" identifier (argument_list "(iVar21)" ( identifier ))) ;) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_6c = sVar7;" (assignment_expression "local_6c = sVar7" identifier = identifier) ;) }) (else_clause "else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }" else (compound_statement "{\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }" { (labeled_statement "LAB_000d0ab0:\n    local_9c = (byte *)0x0;" statement_identifier : (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_000cfaef:\n  FUN_00024cc0(local_a8);" statement_identifier : (expression_statement "FUN_00024cc0(local_a8);" (call_expression "FUN_00024cc0(local_a8)" identifier (argument_list "(local_a8)" ( identifier ))) ;)) (expression_statement "FUN_00024cc0(local_bc);" (call_expression "FUN_00024cc0(local_bc)" identifier (argument_list "(local_bc)" ( identifier ))) ;) (expression_statement "FUN_00024cc0(local_a4);" (call_expression "FUN_00024cc0(local_a4)" identifier (argument_list "(local_a4)" ( identifier ))) ;) (expression_statement "FUN_00024cc0(local_a0);" (call_expression "FUN_00024cc0(local_a0)" identifier (argument_list "(local_a0)" ( identifier ))) ;) (expression_statement "FUN_00024cc0(local_ac);" (call_expression "FUN_00024cc0(local_ac)" identifier (argument_list "(local_ac)" ( identifier ))) ;) (expression_statement "FUN_00024cc0(local_9c);" (call_expression "FUN_00024cc0(local_9c)" identifier (argument_list "(local_9c)" ( identifier ))) ;) (expression_statement "piVar22 = local_c0;" (assignment_expression "piVar22 = local_c0" identifier = identifier) ;) (if_statement "if (local_b0 != 0) {\n    do {\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    } while (local_c0 + local_b0 != piVar25);\n  }" if (parenthesized_expression "(local_b0 != 0)" ( (binary_expression "local_b0 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    } while (local_c0 + local_b0 != piVar25);\n  }" { (do_statement "do {\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    } while (local_c0 + local_b0 != piVar25);" do (compound_statement "{\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    }" { (expression_statement "piVar25 = piVar22 + 1;" (assignment_expression "piVar25 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00024cc0(*piVar22);" (call_expression "FUN_00024cc0(*piVar22)" identifier (argument_list "(*piVar22)" ( (pointer_expression "*piVar22" * identifier) ))) ;) (expression_statement "piVar22 = piVar25;" (assignment_expression "piVar22 = piVar25" identifier = identifier) ;) }) while (parenthesized_expression "(local_c0 + local_b0 != piVar25)" ( (binary_expression "local_c0 + local_b0 != piVar25" (binary_expression "local_c0 + local_b0" identifier + identifier) != identifier) )) ;) })) (expression_statement "FUN_00024cc0(local_cc);" (call_expression "FUN_00024cc0(local_cc)" identifier (argument_list "(local_cc)" ( identifier ))) ;) (expression_statement "FUN_00024cc0(local_c0);" (call_expression "FUN_00024cc0(local_c0)" identifier (argument_list "(local_c0)" ( identifier ))) ;) (if_statement "if (local_6c == 0) {\n    *param_5 = local_dc;\n  }\n  else if (local_dc == (void *)0x0) {\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }\n  else {\n    FUN_0008cf60(local_dc);\n  }" if (parenthesized_expression "(local_6c == 0)" ( (binary_expression "local_6c == 0" identifier == number_literal) )) (compound_statement "{\n    *param_5 = local_dc;\n  }" { (expression_statement "*param_5 = local_dc;" (assignment_expression "*param_5 = local_dc" (pointer_expression "*param_5" * identifier) = identifier) ;) }) (else_clause "else if (local_dc == (void *)0x0) {\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }\n  else {\n    FUN_0008cf60(local_dc);\n  }" else (if_statement "if (local_dc == (void *)0x0) {\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }\n  else {\n    FUN_0008cf60(local_dc);\n  }" if (parenthesized_expression "(local_dc == (void *)0x0)" ( (binary_expression "local_dc == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }" { (if_statement "if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }" if (parenthesized_expression "(local_68 != (int *)0x0)" ( (binary_expression "local_68 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(*local_68 + 8))(local_68);\n    }" { (expression_statement "(**(code **)(*local_68 + 8))(local_68);" (call_expression "(**(code **)(*local_68 + 8))(local_68)" (parenthesized_expression "(**(code **)(*local_68 + 8))" ( (pointer_expression "**(code **)(*local_68 + 8)" * (pointer_expression "*(code **)(*local_68 + 8)" * (cast_expression "(code **)(*local_68 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_68 + 8)" ( (binary_expression "*local_68 + 8" (pointer_expression "*local_68" * identifier) + number_literal) ))))) )) (argument_list "(local_68)" ( identifier ))) ;) })) }) (else_clause "else {\n    FUN_0008cf60(local_dc);\n  }" else (compound_statement "{\n    FUN_0008cf60(local_dc);\n  }" { (expression_statement "FUN_0008cf60(local_dc);" (call_expression "FUN_0008cf60(local_dc)" identifier (argument_list "(local_dc)" ( identifier ))) ;) }))))) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_6c;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return local_6c;\n  }" { (return_statement "return local_6c;" return identifier ;) })) (expression_statement "FUN_000f4bf0();" (call_expression "FUN_000f4bf0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) - LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ IDENT ]))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (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 IDENT (argument_list ( IDENT )))) , (binary_expression LIT < IDENT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression LIT < (subscript_expression IDENT [ LIT ])) && (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (subscript_expression IDENT [ LIT ]) ]) == (char_literal ' escape_sequence ')) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_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 (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_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 = LIT) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_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 IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement default : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (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 = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ])) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) + IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT <= IDENT) || (unary_expression ! IDENT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (unary_expression ! IDENT) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) }))) (goto_statement goto statement_identifier ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , (subscript_expression IDENT [ LIT ]) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression 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 *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT * LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (binary_expression IDENT * LIT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression IDENT * LIT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_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 IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ IDENT ]) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (string_literal " string_content ")) ;) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_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 IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) )) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) ))) ))) & LIT) ))) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) )) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) ))) ))) & LIT) ))) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * IDENT) - LIT) )))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) - LIT) )))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT * LIT) ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) + (binary_expression IDENT * LIT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) )))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (binary_expression IDENT * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (char_literal ' character '))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ LIT) )) & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT * LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) , (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == IDENT)) )))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) != IDENT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;)) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) != (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content ") ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + (binary_expression IDENT * LIT)) )))) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content ") , (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content ") ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content escape_sequence string_content escape_sequence ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + IDENT) )))) ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " ")) ;) }))) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content ") , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + (binary_expression IDENT * LIT)) )))) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , IDENT ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT)) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , IDENT , LIT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , IDENT )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + IDENT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , IDENT )))) ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) != IDENT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "size_t __regparm2\nFUN_000cf860(int param_1,undefined4 param_2,int param_3,int *param_4,undefined4 *param_5,\n            undefined4 param_6)\n\n{\n  char cVar1;\n  char cVar2;\n  byte bVar3;\n  byte bVar4;\n  size_t sVar5;\n  size_t sVar6;\n  size_t sVar7;\n  int iVar8;\n  char *pcVar9;\n  void *pvVar10;\n  size_t sVar11;\n  undefined *puVar12;\n  char *pcVar13;\n  undefined4 *puVar14;\n  uint uVar15;\n  size_t *psVar16;\n  undefined4 uVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  int iVar21;\n  int *piVar22;\n  int iVar23;\n  void *pvVar24;\n  int *piVar25;\n  int iVar26;\n  undefined4 *puVar27;\n  int in_GS_OFFSET;\n  bool bVar28;\n  bool bVar29;\n  size_t *psVar30;\n  void *local_dc;\n  undefined *local_d0;\n  undefined4 *local_cc;\n  undefined *local_c8;\n  int *local_c0;\n  undefined4 *local_bc;\n  int local_b8;\n  undefined *local_b4;\n  int local_b0;\n  byte *local_ac;\n  byte *local_a8;\n  byte *local_a4;\n  byte *local_a0;\n  byte *local_9c;\n  size_t local_80;\n  size_t local_6c;\n  int *local_68;\n  size_t local_64;\n  char *local_60;\n  int local_5c;\n  char *local_58;\n  int local_54;\n  char *local_50;\n  undefined4 local_4c;\n  char *local_48;\n  undefined4 local_44;\n  char *local_40;\n  undefined4 local_3c;\n  char *local_38;\n  undefined4 local_34;\n  char *local_30;\n  undefined4 local_2c;\n  char *local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xcf86b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_6c = 0;\n  cVar1 = *(char *)(*param_4 + 3);\n  local_68 = (int *)0x0;\n  sVar5 = strlen((char *)param_4[1]);\n  sVar6 = strlen((char *)param_4[2]);\n  sVar7 = param_3 * 4 - 8;\n  local_cc = (undefined4 *)FUN_0003f0c0(sVar7,0);\n  if (local_cc != (undefined4 *)0x0) {\n    memset(local_cc,0,sVar7);\n    local_c0 = (int *)FUN_0003f0c0(sVar7,0);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }\n  local_6c = 7;\n  local_c0 = (int *)0x0;\n  local_bc = (undefined4 *)0x0;\n  local_b0 = 0;\n  local_9c = (byte *)0x0;\n  local_ac = (byte *)0x0;\n  local_a0 = (byte *)0x0;\n  local_a4 = (byte *)0x0;\n  local_a8 = (byte *)0x0;\n  local_dc = (void *)0x0;\n  goto LAB_000cfaef;\nLAB_000d0688:\n  FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13);\n  local_6c = 1;\nLAB_000d06b8:\n  FUN_00024cc0(pbVar20);\nLAB_000cfa0c:\n  bVar28 = local_6c == 0;\n  if (param_3 <= iVar23 || !bVar28) goto LAB_000cfd03;\n  goto LAB_000cfa14;\nLAB_000d08d0:\n  iVar23 = iVar23 + 1;\n  if (iVar23 == iVar21) goto LAB_000cfd38;\n  goto LAB_000d08db;\nLAB_000cfd03:\n  if ((local_ac == (byte *)0x0) || (!bVar28)) {\nLAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }\n  FUN_00024cc0(local_a4);\n  FUN_00024cc0(local_a0);\n  if (iVar21 == 0) {\n    FUN_00024cc0(local_cc);\n    local_64 = 0;\n    iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);\n    if (sVar7 != 0) {\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    FUN_00024cc0(iVar21);\n    iVar21 = FUN_0001bb40(local_64);\n    if (iVar21 < 1) {\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }\n  }\n  else {\nLAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    local_6c = 0;\n  }\n  if (local_68 == (int *)0x0) {\n    local_6c = FUN_00076a00(param_6);\n    local_bc = (undefined4 *)0x0;\n    if (local_6c != 0) {\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n  }\n  if (local_a8 == (byte *)0x0) {\n    local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar15 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    local_6c = 0;\n    iVar23 = 6;\n    local_80 = 1;\n    local_b4 = (undefined *)0x1;\n  }\n  else {\n    bVar4 = *local_a8;\n    if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }\n    local_6c = 0;\n    local_b4 = (undefined *)local_80;\n  }\nLAB_000cfe77:\n  sVar5 = sVar5 + 1;\n  sVar6 = sVar6 + 1;\n  sVar7 = sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c;\n  local_dc = (void *)FUN_0003f0c0(sVar7,0);\n  if (local_dc == (void *)0x0) {\n    local_6c = 7;\n    goto LAB_000cfaef;\n  }\n  bVar28 = cVar1 == '4';\n  memset(local_dc,0,sVar7);\n  *(int *)((int)local_dc + 0x18) = iVar21;\n  *(undefined4 *)((int)local_dc + 0x30) = 0xff;\n  *(int **)((int)local_dc + 0x24) = local_68;\n  *(undefined4 *)((int)local_dc + 0xc) = param_2;\n  *(int *)((int)local_dc + 0x1c) = (int)local_dc + 0x11c;\n  *(bool *)((int)local_dc + 0xe9) = bVar28;\n  *(bool *)((int)local_dc + 0xe8) = bVar28;\n  *(byte *)((int)local_dc + 0xea) = (bVar3 ^ 1) & bVar28;\n  *(bool *)((int)local_dc + 0xeb) = bVar29;\n  *(undefined4 *)((int)local_dc + 0x108) = 0;\n  *(undefined4 *)((int)local_dc + 0x104) = 0x100000;\n  *(byte **)((int)local_dc + 0x28) = local_ac;\n  *(byte **)((int)local_dc + 0x2c) = local_9c;\n  pvVar10 = (void *)((int)local_dc + 0x11c + iVar21 * 4);\n  *(void **)((int)local_dc + 0x100) = pvVar10;\n  memcpy(pvVar10,local_bc,local_80 * 0x18);\n  sVar7 = 0;\n  *(undefined **)((int)local_dc + 0xfc) = local_b4;\n  if (local_b4 != (undefined *)0x0) {\n    do {\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    } while (local_b4 != (undefined *)sVar11);\n  }\n  iVar23 = local_80 * 0x18 + *(int *)((int)local_dc + 0x100);\n  *(int *)((int)local_dc + 0x20) = iVar23;\n  pvVar10 = (void *)(iVar23 + iVar21);\n  *(void **)((int)local_dc + 0x14) = pvVar10;\n  pvVar24 = (void *)((int)pvVar10 + sVar6);\n  memcpy(pvVar10,(void *)param_4[2],sVar6);\n  *(void **)((int)local_dc + 0x10) = pvVar24;\n  pvVar10 = (void *)((int)pvVar24 + sVar5);\n  iVar23 = 0;\n  memcpy(pvVar24,(void *)param_4[1],sVar5);\n  if (0 < iVar21) {\n    do {\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    } while (iVar21 * 4 != iVar23);\n    local_c8 = (undefined *)0x0;\n    do {\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    } while (local_c8 != (undefined *)iVar21);\n  }\n  piVar22 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    } while (local_c0 + local_b0 != piVar22);\n  }\n  if ((local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {\n    local_6c = 1;\n    pcVar13 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar13 = "compress";\n    }\n    FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);\n  }\n  local_64 = 0;\n  if (*(int *)((int)local_dc + 0x28) == 0) {\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }\n    else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }\n    iVar21 = 0;\n    FUN_00076c30(&local_6c,&local_64,"docid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }\n    FUN_00024cc0(local_b4);\n  }\n  else {\n    FUN_00076c30(&local_6c,&local_64,"rowid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }\n  }\n  iVar21 = *(int *)((int)local_dc + 0x28);\n  if (iVar21 == 0) {\n    pcVar13 = "_content";\n    iVar21 = *(int *)((int)local_dc + 0x14);\n  }\n  else {\n    pcVar13 = "";\n  }\n  FUN_00076c30(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",\n               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13);\n  *(size_t *)((int)local_dc + 0xdc) = local_64;\n  local_64 = 0;\n  if (local_a4 == (byte *)0x0) {\n    local_c8 = (undefined *)0x0;\n    puVar12 = &DAT_000f50ff;\n  }\n  else {\n    puVar12 = (undefined *)FUN_00041e40();\n    local_c8 = puVar12;\n  }\n  iVar21 = 0;\n  psVar30 = &local_64;\n  FUN_00076c30(&local_6c,&local_64,&DAT_000f8342);\n  if (0 < *(int *)((int)local_dc + 0x18)) {\n    do {\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    } while (iVar21 < *(int *)((int)local_dc + 0x18));\n  }\n  if (*(int *)((int)local_dc + 0x2c) != 0) {\n    psVar30 = &local_64;\n    FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);\n  }\n  FUN_00024cc0(local_c8);\n  *(size_t *)((int)local_dc + 0xe0) = local_64;\n  if (local_6c == 0) {\n    if (param_1 == 0) {\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }\n    else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);\n    if (sVar7 == 0) {\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }\n    pcVar13 = "__langid";\n    if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }\n    FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);\n    iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));\n    if (iVar21 == 0) {\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }\n    else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }\n    FUN_00024cc0(iVar23);\n    FUN_00024cc0(iVar21);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    local_6c = sVar7;\n  }\n  else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }\nLAB_000cfaef:\n  FUN_00024cc0(local_a8);\n  FUN_00024cc0(local_bc);\n  FUN_00024cc0(local_a4);\n  FUN_00024cc0(local_a0);\n  FUN_00024cc0(local_ac);\n  FUN_00024cc0(local_9c);\n  piVar22 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    } while (local_c0 + local_b0 != piVar25);\n  }\n  FUN_00024cc0(local_cc);\n  FUN_00024cc0(local_c0);\n  if (local_6c == 0) {\n    *param_5 = local_dc;\n  }\n  else if (local_dc == (void *)0x0) {\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }\n  else {\n    FUN_0008cf60(local_dc);\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_6c;\n  }\n                    \n  FUN_000f4bf0();\n}" (primitive_type "size_t") (ERROR "__regparm2" (identifier "__regparm2")) (function_declarator "FUN_000cf860(int param_1,undefined4 param_2,int param_3,int *param_4,undefined4 *param_5,\n            undefined4 param_6)" (identifier "FUN_000cf860") (parameter_list "(int param_1,undefined4 param_2,int param_3,int *param_4,undefined4 *param_5,\n            undefined4 param_6)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int *param_4" (primitive_type "int") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "undefined4 *param_5" (type_identifier "undefined4") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) () ")"))) (compound_statement "{\n  char cVar1;\n  char cVar2;\n  byte bVar3;\n  byte bVar4;\n  size_t sVar5;\n  size_t sVar6;\n  size_t sVar7;\n  int iVar8;\n  char *pcVar9;\n  void *pvVar10;\n  size_t sVar11;\n  undefined *puVar12;\n  char *pcVar13;\n  undefined4 *puVar14;\n  uint uVar15;\n  size_t *psVar16;\n  undefined4 uVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  int iVar21;\n  int *piVar22;\n  int iVar23;\n  void *pvVar24;\n  int *piVar25;\n  int iVar26;\n  undefined4 *puVar27;\n  int in_GS_OFFSET;\n  bool bVar28;\n  bool bVar29;\n  size_t *psVar30;\n  void *local_dc;\n  undefined *local_d0;\n  undefined4 *local_cc;\n  undefined *local_c8;\n  int *local_c0;\n  undefined4 *local_bc;\n  int local_b8;\n  undefined *local_b4;\n  int local_b0;\n  byte *local_ac;\n  byte *local_a8;\n  byte *local_a4;\n  byte *local_a0;\n  byte *local_9c;\n  size_t local_80;\n  size_t local_6c;\n  int *local_68;\n  size_t local_64;\n  char *local_60;\n  int local_5c;\n  char *local_58;\n  int local_54;\n  char *local_50;\n  undefined4 local_4c;\n  char *local_48;\n  undefined4 local_44;\n  char *local_40;\n  undefined4 local_3c;\n  char *local_38;\n  undefined4 local_34;\n  char *local_30;\n  undefined4 local_2c;\n  char *local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xcf86b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_6c = 0;\n  cVar1 = *(char *)(*param_4 + 3);\n  local_68 = (int *)0x0;\n  sVar5 = strlen((char *)param_4[1]);\n  sVar6 = strlen((char *)param_4[2]);\n  sVar7 = param_3 * 4 - 8;\n  local_cc = (undefined4 *)FUN_0003f0c0(sVar7,0);\n  if (local_cc != (undefined4 *)0x0) {\n    memset(local_cc,0,sVar7);\n    local_c0 = (int *)FUN_0003f0c0(sVar7,0);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }\n  local_6c = 7;\n  local_c0 = (int *)0x0;\n  local_bc = (undefined4 *)0x0;\n  local_b0 = 0;\n  local_9c = (byte *)0x0;\n  local_ac = (byte *)0x0;\n  local_a0 = (byte *)0x0;\n  local_a4 = (byte *)0x0;\n  local_a8 = (byte *)0x0;\n  local_dc = (void *)0x0;\n  goto LAB_000cfaef;\nLAB_000d0688:\n  FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13);\n  local_6c = 1;\nLAB_000d06b8:\n  FUN_00024cc0(pbVar20);\nLAB_000cfa0c:\n  bVar28 = local_6c == 0;\n  if (param_3 <= iVar23 || !bVar28) goto LAB_000cfd03;\n  goto LAB_000cfa14;\nLAB_000d08d0:\n  iVar23 = iVar23 + 1;\n  if (iVar23 == iVar21) goto LAB_000cfd38;\n  goto LAB_000d08db;\nLAB_000cfd03:\n  if ((local_ac == (byte *)0x0) || (!bVar28)) {\nLAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }\n  FUN_00024cc0(local_a4);\n  FUN_00024cc0(local_a0);\n  if (iVar21 == 0) {\n    FUN_00024cc0(local_cc);\n    local_64 = 0;\n    iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);\n    if (sVar7 != 0) {\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    FUN_00024cc0(iVar21);\n    iVar21 = FUN_0001bb40(local_64);\n    if (iVar21 < 1) {\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }\n  }\n  else {\nLAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    local_6c = 0;\n  }\n  if (local_68 == (int *)0x0) {\n    local_6c = FUN_00076a00(param_6);\n    local_bc = (undefined4 *)0x0;\n    if (local_6c != 0) {\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n  }\n  if (local_a8 == (byte *)0x0) {\n    local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar15 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    local_6c = 0;\n    iVar23 = 6;\n    local_80 = 1;\n    local_b4 = (undefined *)0x1;\n  }\n  else {\n    bVar4 = *local_a8;\n    if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }\n    local_6c = 0;\n    local_b4 = (undefined *)local_80;\n  }\nLAB_000cfe77:\n  sVar5 = sVar5 + 1;\n  sVar6 = sVar6 + 1;\n  sVar7 = sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c;\n  local_dc = (void *)FUN_0003f0c0(sVar7,0);\n  if (local_dc == (void *)0x0) {\n    local_6c = 7;\n    goto LAB_000cfaef;\n  }\n  bVar28 = cVar1 == '4';\n  memset(local_dc,0,sVar7);\n  *(int *)((int)local_dc + 0x18) = iVar21;\n  *(undefined4 *)((int)local_dc + 0x30) = 0xff;\n  *(int **)((int)local_dc + 0x24) = local_68;\n  *(undefined4 *)((int)local_dc + 0xc) = param_2;\n  *(int *)((int)local_dc + 0x1c) = (int)local_dc + 0x11c;\n  *(bool *)((int)local_dc + 0xe9) = bVar28;\n  *(bool *)((int)local_dc + 0xe8) = bVar28;\n  *(byte *)((int)local_dc + 0xea) = (bVar3 ^ 1) & bVar28;\n  *(bool *)((int)local_dc + 0xeb) = bVar29;\n  *(undefined4 *)((int)local_dc + 0x108) = 0;\n  *(undefined4 *)((int)local_dc + 0x104) = 0x100000;\n  *(byte **)((int)local_dc + 0x28) = local_ac;\n  *(byte **)((int)local_dc + 0x2c) = local_9c;\n  pvVar10 = (void *)((int)local_dc + 0x11c + iVar21 * 4);\n  *(void **)((int)local_dc + 0x100) = pvVar10;\n  memcpy(pvVar10,local_bc,local_80 * 0x18);\n  sVar7 = 0;\n  *(undefined **)((int)local_dc + 0xfc) = local_b4;\n  if (local_b4 != (undefined *)0x0) {\n    do {\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    } while (local_b4 != (undefined *)sVar11);\n  }\n  iVar23 = local_80 * 0x18 + *(int *)((int)local_dc + 0x100);\n  *(int *)((int)local_dc + 0x20) = iVar23;\n  pvVar10 = (void *)(iVar23 + iVar21);\n  *(void **)((int)local_dc + 0x14) = pvVar10;\n  pvVar24 = (void *)((int)pvVar10 + sVar6);\n  memcpy(pvVar10,(void *)param_4[2],sVar6);\n  *(void **)((int)local_dc + 0x10) = pvVar24;\n  pvVar10 = (void *)((int)pvVar24 + sVar5);\n  iVar23 = 0;\n  memcpy(pvVar24,(void *)param_4[1],sVar5);\n  if (0 < iVar21) {\n    do {\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    } while (iVar21 * 4 != iVar23);\n    local_c8 = (undefined *)0x0;\n    do {\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    } while (local_c8 != (undefined *)iVar21);\n  }\n  piVar22 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    } while (local_c0 + local_b0 != piVar22);\n  }\n  if ((local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {\n    local_6c = 1;\n    pcVar13 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar13 = "compress";\n    }\n    FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);\n  }\n  local_64 = 0;\n  if (*(int *)((int)local_dc + 0x28) == 0) {\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }\n    else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }\n    iVar21 = 0;\n    FUN_00076c30(&local_6c,&local_64,"docid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }\n    FUN_00024cc0(local_b4);\n  }\n  else {\n    FUN_00076c30(&local_6c,&local_64,"rowid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }\n  }\n  iVar21 = *(int *)((int)local_dc + 0x28);\n  if (iVar21 == 0) {\n    pcVar13 = "_content";\n    iVar21 = *(int *)((int)local_dc + 0x14);\n  }\n  else {\n    pcVar13 = "";\n  }\n  FUN_00076c30(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",\n               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13);\n  *(size_t *)((int)local_dc + 0xdc) = local_64;\n  local_64 = 0;\n  if (local_a4 == (byte *)0x0) {\n    local_c8 = (undefined *)0x0;\n    puVar12 = &DAT_000f50ff;\n  }\n  else {\n    puVar12 = (undefined *)FUN_00041e40();\n    local_c8 = puVar12;\n  }\n  iVar21 = 0;\n  psVar30 = &local_64;\n  FUN_00076c30(&local_6c,&local_64,&DAT_000f8342);\n  if (0 < *(int *)((int)local_dc + 0x18)) {\n    do {\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    } while (iVar21 < *(int *)((int)local_dc + 0x18));\n  }\n  if (*(int *)((int)local_dc + 0x2c) != 0) {\n    psVar30 = &local_64;\n    FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);\n  }\n  FUN_00024cc0(local_c8);\n  *(size_t *)((int)local_dc + 0xe0) = local_64;\n  if (local_6c == 0) {\n    if (param_1 == 0) {\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }\n    else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);\n    if (sVar7 == 0) {\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }\n    pcVar13 = "__langid";\n    if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }\n    FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);\n    iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));\n    if (iVar21 == 0) {\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }\n    else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }\n    FUN_00024cc0(iVar23);\n    FUN_00024cc0(iVar21);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    local_6c = sVar7;\n  }\n  else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }\nLAB_000cfaef:\n  FUN_00024cc0(local_a8);\n  FUN_00024cc0(local_bc);\n  FUN_00024cc0(local_a4);\n  FUN_00024cc0(local_a0);\n  FUN_00024cc0(local_ac);\n  FUN_00024cc0(local_9c);\n  piVar22 = local_c0;\n  if (local_b0 != 0) {\n    do {\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    } while (local_c0 + local_b0 != piVar25);\n  }\n  FUN_00024cc0(local_cc);\n  FUN_00024cc0(local_c0);\n  if (local_6c == 0) {\n    *param_5 = local_dc;\n  }\n  else if (local_dc == (void *)0x0) {\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }\n  else {\n    FUN_0008cf60(local_dc);\n  }\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_6c;\n  }\n                    \n  FUN_000f4bf0();\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "byte bVar4;" (type_identifier "byte") (identifier "bVar4") (; ";")) (declaration "size_t sVar5;" (primitive_type "size_t") (identifier "sVar5") (; ";")) (declaration "size_t sVar6;" (primitive_type "size_t") (identifier "sVar6") (; ";")) (declaration "size_t sVar7;" (primitive_type "size_t") (identifier "sVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "void *pvVar10;" (primitive_type "void") (pointer_declarator "*pvVar10" (* "*") (identifier "pvVar10")) (; ";")) (declaration "size_t sVar11;" (primitive_type "size_t") (identifier "sVar11") (; ";")) (declaration "undefined *puVar12;" (type_identifier "undefined") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "undefined4 *puVar14;" (type_identifier "undefined4") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "size_t *psVar16;" (primitive_type "size_t") (pointer_declarator "*psVar16" (* "*") (identifier "psVar16")) (; ";")) (declaration "undefined4 uVar17;" (type_identifier "undefined4") (identifier "uVar17") (; ";")) (declaration "byte *pbVar18;" (type_identifier "byte") (pointer_declarator "*pbVar18" (* "*") (identifier "pbVar18")) (; ";")) (declaration "byte *pbVar19;" (type_identifier "byte") (pointer_declarator "*pbVar19" (* "*") (identifier "pbVar19")) (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "int *piVar22;" (primitive_type "int") (pointer_declarator "*piVar22" (* "*") (identifier "piVar22")) (; ";")) (declaration "int iVar23;" (primitive_type "int") (identifier "iVar23") (; ";")) (declaration "void *pvVar24;" (primitive_type "void") (pointer_declarator "*pvVar24" (* "*") (identifier "pvVar24")) (; ";")) (declaration "int *piVar25;" (primitive_type "int") (pointer_declarator "*piVar25" (* "*") (identifier "piVar25")) (; ";")) (declaration "int iVar26;" (primitive_type "int") (identifier "iVar26") (; ";")) (declaration "undefined4 *puVar27;" (type_identifier "undefined4") (pointer_declarator "*puVar27" (* "*") (identifier "puVar27")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "bool bVar28;" (primitive_type "bool") (identifier "bVar28") (; ";")) (declaration "bool bVar29;" (primitive_type "bool") (identifier "bVar29") (; ";")) (declaration "size_t *psVar30;" (primitive_type "size_t") (pointer_declarator "*psVar30" (* "*") (identifier "psVar30")) (; ";")) (declaration "void *local_dc;" (primitive_type "void") (pointer_declarator "*local_dc" (* "*") (identifier "local_dc")) (; ";")) (declaration "undefined *local_d0;" (type_identifier "undefined") (pointer_declarator "*local_d0" (* "*") (identifier "local_d0")) (; ";")) (declaration "undefined4 *local_cc;" (type_identifier "undefined4") (pointer_declarator "*local_cc" (* "*") (identifier "local_cc")) (; ";")) (declaration "undefined *local_c8;" (type_identifier "undefined") (pointer_declarator "*local_c8" (* "*") (identifier "local_c8")) (; ";")) (declaration "int *local_c0;" (primitive_type "int") (pointer_declarator "*local_c0" (* "*") (identifier "local_c0")) (; ";")) (declaration "undefined4 *local_bc;" (type_identifier "undefined4") (pointer_declarator "*local_bc" (* "*") (identifier "local_bc")) (; ";")) (declaration "int local_b8;" (primitive_type "int") (identifier "local_b8") (; ";")) (declaration "undefined *local_b4;" (type_identifier "undefined") (pointer_declarator "*local_b4" (* "*") (identifier "local_b4")) (; ";")) (declaration "int local_b0;" (primitive_type "int") (identifier "local_b0") (; ";")) (declaration "byte *local_ac;" (type_identifier "byte") (pointer_declarator "*local_ac" (* "*") (identifier "local_ac")) (; ";")) (declaration "byte *local_a8;" (type_identifier "byte") (pointer_declarator "*local_a8" (* "*") (identifier "local_a8")) (; ";")) (declaration "byte *local_a4;" (type_identifier "byte") (pointer_declarator "*local_a4" (* "*") (identifier "local_a4")) (; ";")) (declaration "byte *local_a0;" (type_identifier "byte") (pointer_declarator "*local_a0" (* "*") (identifier "local_a0")) (; ";")) (declaration "byte *local_9c;" (type_identifier "byte") (pointer_declarator "*local_9c" (* "*") (identifier "local_9c")) (; ";")) (declaration "size_t local_80;" (primitive_type "size_t") (identifier "local_80") (; ";")) (declaration "size_t local_6c;" (primitive_type "size_t") (identifier "local_6c") (; ";")) (declaration "int *local_68;" (primitive_type "int") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "size_t local_64;" (primitive_type "size_t") (identifier "local_64") (; ";")) (declaration "char *local_60;" (primitive_type "char") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "int local_5c;" (primitive_type "int") (identifier "local_5c") (; ";")) (declaration "char *local_58;" (primitive_type "char") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "int local_54;" (primitive_type "int") (identifier "local_54") (; ";")) (declaration "char *local_50;" (primitive_type "char") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "char *local_48;" (primitive_type "char") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "undefined4 local_44;" (type_identifier "undefined4") (identifier "local_44") (; ";")) (declaration "char *local_40;" (primitive_type "char") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "char *local_38;" (primitive_type "char") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "char *local_30;" (primitive_type "char") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "char *local_28;" (primitive_type "char") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0xcf86b;" (assignment_expression "uStack_14 = 0xcf86b" (identifier "uStack_14") (= "=") (number_literal "0xcf86b")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "cVar1 = *(char *)(*param_4 + 3);" (assignment_expression "cVar1 = *(char *)(*param_4 + 3)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(*param_4 + 3)" (* "*") (cast_expression "(char *)(*param_4 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_4 + 3)" (( "(") (binary_expression "*param_4 + 3" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "local_68 = (int *)0x0;" (assignment_expression "local_68 = (int *)0x0" (identifier "local_68") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "sVar5 = strlen((char *)param_4[1]);" (assignment_expression "sVar5 = strlen((char *)param_4[1])" (identifier "sVar5") (= "=") (call_expression "strlen((char *)param_4[1])" (identifier "strlen") (argument_list "((char *)param_4[1])" (( "(") (cast_expression "(char *)param_4[1]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))) () ")")))) (; ";")) (expression_statement "sVar6 = strlen((char *)param_4[2]);" (assignment_expression "sVar6 = strlen((char *)param_4[2])" (identifier "sVar6") (= "=") (call_expression "strlen((char *)param_4[2])" (identifier "strlen") (argument_list "((char *)param_4[2])" (( "(") (cast_expression "(char *)param_4[2]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]"))) () ")")))) (; ";")) (expression_statement "sVar7 = param_3 * 4 - 8;" (assignment_expression "sVar7 = param_3 * 4 - 8" (identifier "sVar7") (= "=") (binary_expression "param_3 * 4 - 8" (binary_expression "param_3 * 4" (identifier "param_3") (* "*") (number_literal "4")) (- "-") (number_literal "8"))) (; ";")) (expression_statement "local_cc = (undefined4 *)FUN_0003f0c0(sVar7,0);" (assignment_expression "local_cc = (undefined4 *)FUN_0003f0c0(sVar7,0)" (identifier "local_cc") (= "=") (cast_expression "(undefined4 *)FUN_0003f0c0(sVar7,0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003f0c0(sVar7,0)" (identifier "FUN_0003f0c0") (argument_list "(sVar7,0)" (( "(") (identifier "sVar7") (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (local_cc != (undefined4 *)0x0) {\n    memset(local_cc,0,sVar7);\n    local_c0 = (int *)FUN_0003f0c0(sVar7,0);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }" (if "if") (parenthesized_expression "(local_cc != (undefined4 *)0x0)" (( "(") (binary_expression "local_cc != (undefined4 *)0x0" (identifier "local_cc") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    memset(local_cc,0,sVar7);\n    local_c0 = (int *)FUN_0003f0c0(sVar7,0);\n    if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }\n  }" ({ "{") (expression_statement "memset(local_cc,0,sVar7);" (call_expression "memset(local_cc,0,sVar7)" (identifier "memset") (argument_list "(local_cc,0,sVar7)" (( "(") (identifier "local_cc") (, ",") (number_literal "0") (, ",") (identifier "sVar7") () ")"))) (; ";")) (expression_statement "local_c0 = (int *)FUN_0003f0c0(sVar7,0);" (assignment_expression "local_c0 = (int *)FUN_0003f0c0(sVar7,0)" (identifier "local_c0") (= "=") (cast_expression "(int *)FUN_0003f0c0(sVar7,0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003f0c0(sVar7,0)" (identifier "FUN_0003f0c0") (argument_list "(sVar7,0)" (( "(") (identifier "sVar7") (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (local_c0 != (int *)0x0) {\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }" (if "if") (parenthesized_expression "(local_c0 != (int *)0x0)" (( "(") (binary_expression "local_c0 != (int *)0x0" (identifier "local_c0") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      memset(local_c0,0,sVar7);\n      if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }\n      bVar3 = 0;\n      iVar21 = 0;\n      local_a8 = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      local_9c = (byte *)0x0;\n      local_b0 = 0;\n      bVar29 = false;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      goto LAB_000d0578;\n    }" ({ "{") (expression_statement "memset(local_c0,0,sVar7);" (call_expression "memset(local_c0,0,sVar7)" (identifier "memset") (argument_list "(local_c0,0,sVar7)" (( "(") (identifier "local_c0") (, ",") (number_literal "0") (, ",") (identifier "sVar7") () ")"))) (; ";")) (if_statement "if ((local_6c == 0) && (3 < param_3)) {\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }" (if "if") (parenthesized_expression "((local_6c == 0) && (3 < param_3))" (( "(") (binary_expression "(local_6c == 0) && (3 < param_3)" (parenthesized_expression "(local_6c == 0)" (( "(") (binary_expression "local_6c == 0" (identifier "local_6c") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(3 < param_3)" (( "(") (binary_expression "3 < param_3" (number_literal "3") (< "<") (identifier "param_3")) () ")"))) () ")")) (compound_statement "{\n        iVar21 = 0;\n        local_d0 = (undefined *)0x0;\n        iVar23 = 3;\n        local_b0 = 0;\n        local_9c = (byte *)0x0;\n        local_ac = (byte *)0x0;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        local_a8 = (byte *)0x0;\n        bVar29 = false;\n        bVar3 = 0;\nLAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];\n        iVar23 = iVar23 + 1;\n        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }\n        if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }\nLAB_000cf9db:\n        sVar7 = strlen(pcVar13);\n        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);\n        local_cc[iVar21] = pcVar13;\n        iVar21 = iVar21 + 1;\n        goto LAB_000cfa0c;\n      }" ({ "{") (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" (identifier "iVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d0 = (undefined *)0x0;" (assignment_expression "local_d0 = (undefined *)0x0" (identifier "local_d0") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar23 = 3;" (assignment_expression "iVar23 = 3" (identifier "iVar23") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" (identifier "local_b0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" (identifier "local_9c") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" (identifier "local_ac") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" (identifier "local_a0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" (identifier "local_a4") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a8 = (byte *)0x0;" (assignment_expression "local_a8 = (byte *)0x0" (identifier "local_a8") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" (identifier "bVar29") (= "=") (false "false")) (; ";")) (expression_statement "bVar3 = 0;" (assignment_expression "bVar3 = 0" (identifier "bVar3") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_000cfa14:\n        pcVar13 = (char *)param_4[iVar23];" (statement_identifier "LAB_000cfa14") (: ":") (expression_statement "pcVar13 = (char *)param_4[iVar23];" (assignment_expression "pcVar13 = (char *)param_4[iVar23]" (identifier "pcVar13") (= "=") (cast_expression "(char *)param_4[iVar23]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[iVar23]" (identifier "param_4") ([ "[") (identifier "iVar23") (] "]")))) (; ";"))) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" (identifier "iVar23") (= "=") (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }" (if "if") (parenthesized_expression "((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0'))))" (( "(") (binary_expression "(((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&\n           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))" (parenthesized_expression "(((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0))" (( "(") (binary_expression "((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&\n            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)" (parenthesized_expression "((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7))" (( "(") (binary_expression "(local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)" (parenthesized_expression "(local_68 == (int *)0x0)" (( "(") (binary_expression "local_68 == (int *)0x0" (identifier "local_68") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(sVar7 = strlen(pcVar13), 8 < sVar7)" (( "(") (comma_expression "sVar7 = strlen(pcVar13), 8 < sVar7" (assignment_expression "sVar7 = strlen(pcVar13)" (identifier "sVar7") (= "=") (call_expression "strlen(pcVar13)" (identifier "strlen") (argument_list "(pcVar13)" (( "(") (identifier "pcVar13") () ")")))) (, ",") (binary_expression "8 < sVar7" (number_literal "8") (< "<") (identifier "sVar7"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)" (( "(") (comma_expression "iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0" (assignment_expression "iVar8 = FUN_00028130(pcVar13,"tokenize",8)" (identifier "iVar8") (= "=") (call_expression "FUN_00028130(pcVar13,"tokenize",8)" (identifier "FUN_00028130") (argument_list "(pcVar13,"tokenize",8)" (( "(") (identifier "pcVar13") (, ",") (string_literal ""tokenize"" (" """) (string_content "tokenize") (" """)) (, ",") (number_literal "8") () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))" (( "(") (parenthesized_expression "(-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0'))" (( "(") (binary_expression "-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')" (binary_expression "-1 < pcVar13[8]" (number_literal "-1") (< "<") (subscript_expression "pcVar13[8]" (identifier "pcVar13") ([ "[") (number_literal "8") (] "]"))) (&& "&&") (parenthesized_expression "((&DAT_000fc6a0)[pcVar13[8]] == '\0')" (( "(") (binary_expression "(&DAT_000fc6a0)[pcVar13[8]] == '\0'" (subscript_expression "(&DAT_000fc6a0)[pcVar13[8]]" (parenthesized_expression "(&DAT_000fc6a0)" (( "(") (pointer_expression "&DAT_000fc6a0" (& "&") (identifier "DAT_000fc6a0")) () ")")) ([ "[") (subscript_expression "pcVar13[8]" (identifier "pcVar13") ([ "[") (number_literal "8") (] "]")) (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          local_6c = FUN_00076a00(param_6);\n          goto LAB_000cfa0c;\n        }" ({ "{") (expression_statement "local_6c = FUN_00076a00(param_6);" (assignment_expression "local_6c = FUN_00076a00(param_6)" (identifier "local_6c") (= "=") (call_expression "FUN_00076a00(param_6)" (identifier "FUN_00076a00") (argument_list "(param_6)" (( "(") (identifier "param_6") () ")")))) (; ";")) (goto_statement "goto LAB_000cfa0c;" (goto "goto") (statement_identifier "LAB_000cfa0c") (; ";")) (} "}"))) (if_statement "if (cVar1 == '4') {\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }" (if "if") (parenthesized_expression "(cVar1 == '4')" (( "(") (binary_expression "cVar1 == '4'" (identifier "cVar1") (== "==") (char_literal "'4'" (' "'") (character "4") (' "'"))) () ")")) (compound_statement "{\n          cVar2 = *pcVar13;\n          pcVar9 = pcVar13;\n          if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }\n          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);\n          if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }\n          local_5c = 9;\n          local_54 = 6;\n          local_60 = "matchinfo";\n          local_58 = "prefix";\n          local_50 = "compress";\n          local_48 = "uncompress";\n          local_40 = "order";\n          local_38 = "content";\n          local_30 = "languageid";\n          local_4c = 8;\n          local_44 = 10;\n          local_3c = 5;\n          local_34 = 7;\n          local_2c = 10;\n          local_28 = "notindexed";\n          local_24 = 10;\n          if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }\n          local_6c = 7;\n          bVar28 = false;\n          goto LAB_000cfd03;\n        }" ({ "{") (expression_statement "cVar2 = *pcVar13;" (assignment_expression "cVar2 = *pcVar13" (identifier "cVar2") (= "=") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13"))) (; ";")) (expression_statement "pcVar9 = pcVar13;" (assignment_expression "pcVar9 = pcVar13" (identifier "pcVar9") (= "=") (identifier "pcVar13")) (; ";")) (if_statement "if (cVar2 == '=') {\n            local_b4 = (undefined *)0x0;\n          }\n          else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }" (if "if") (parenthesized_expression "(cVar2 == '=')" (( "(") (binary_expression "cVar2 == '='" (identifier "cVar2") (== "==") (char_literal "'='" (' "'") (character "=") (' "'"))) () ")")) (compound_statement "{\n            local_b4 = (undefined *)0x0;\n          }" ({ "{") (expression_statement "local_b4 = (undefined *)0x0;" (assignment_expression "local_b4 = (undefined *)0x0" (identifier "local_b4") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }" (else "else") (compound_statement "{\n            do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');\n            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);\n          }" ({ "{") (do_statement "do {\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            } while (cVar2 != '=');" (do "do") (compound_statement "{\n              if (cVar2 == '\0') goto LAB_000cf9db;\n              pcVar9 = pcVar9 + 1;\n              cVar2 = *pcVar9;\n            }" ({ "{") (if_statement "if (cVar2 == '\0') goto LAB_000cf9db;" (if "if") (parenthesized_expression "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000cf9db;" (goto "goto") (statement_identifier "LAB_000cf9db") (; ";"))) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" (identifier "pcVar9") (= "=") (binary_expression "pcVar9 + 1" (identifier "pcVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar2 = *pcVar9;" (assignment_expression "cVar2 = *pcVar9" (identifier "cVar2") (= "=") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar2 != '=')" (( "(") (binary_expression "cVar2 != '='" (identifier "cVar2") (!= "!=") (char_literal "'='" (' "'") (character "=") (' "'"))) () ")")) (; ";")) (expression_statement "local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);" (assignment_expression "local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13)" (identifier "local_b4") (= "=") (cast_expression "(undefined *)((int)pcVar9 - (int)pcVar13)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pcVar9 - (int)pcVar13)" (( "(") (binary_expression "(int)pcVar9 - (int)pcVar13" (cast_expression "(int)pcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar9")) (- "-") (cast_expression "(int)pcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar13"))) () ")")))) (; ";")) (} "}")))) (expression_statement "pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);" (assignment_expression "pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1)" (identifier "pbVar19") (= "=") (cast_expression "(byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00071090(&DAT_000f6ce3,pcVar9 + 1)" (identifier "FUN_00071090") (argument_list "(&DAT_000f6ce3,pcVar9 + 1)" (( "(") (pointer_expression "&DAT_000f6ce3" (& "&") (identifier "DAT_000f6ce3")) (, ",") (binary_expression "pcVar9 + 1" (identifier "pcVar9") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (if_statement "if (pbVar19 != (byte *)0x0) {\n            FUN_0001d8b0();\n          }" (if "if") (parenthesized_expression "(pbVar19 != (byte *)0x0)" (( "(") (binary_expression "pbVar19 != (byte *)0x0" (identifier "pbVar19") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            FUN_0001d8b0();\n          }" ({ "{") (expression_statement "FUN_0001d8b0();" (call_expression "FUN_0001d8b0()" (identifier "FUN_0001d8b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_5c = 9;" (assignment_expression "local_5c = 9" (identifier "local_5c") (= "=") (number_literal "9")) (; ";")) (expression_statement "local_54 = 6;" (assignment_expression "local_54 = 6" (identifier "local_54") (= "=") (number_literal "6")) (; ";")) (expression_statement "local_60 = "matchinfo";" (assignment_expression "local_60 = "matchinfo"" (identifier "local_60") (= "=") (string_literal ""matchinfo"" (" """) (string_content "matchinfo") (" """))) (; ";")) (expression_statement "local_58 = "prefix";" (assignment_expression "local_58 = "prefix"" (identifier "local_58") (= "=") (string_literal ""prefix"" (" """) (string_content "prefix") (" """))) (; ";")) (expression_statement "local_50 = "compress";" (assignment_expression "local_50 = "compress"" (identifier "local_50") (= "=") (string_literal ""compress"" (" """) (string_content "compress") (" """))) (; ";")) (expression_statement "local_48 = "uncompress";" (assignment_expression "local_48 = "uncompress"" (identifier "local_48") (= "=") (string_literal ""uncompress"" (" """) (string_content "uncompress") (" """))) (; ";")) (expression_statement "local_40 = "order";" (assignment_expression "local_40 = "order"" (identifier "local_40") (= "=") (string_literal ""order"" (" """) (string_content "order") (" """))) (; ";")) (expression_statement "local_38 = "content";" (assignment_expression "local_38 = "content"" (identifier "local_38") (= "=") (string_literal ""content"" (" """) (string_content "content") (" """))) (; ";")) (expression_statement "local_30 = "languageid";" (assignment_expression "local_30 = "languageid"" (identifier "local_30") (= "=") (string_literal ""languageid"" (" """) (string_content "languageid") (" """))) (; ";")) (expression_statement "local_4c = 8;" (assignment_expression "local_4c = 8" (identifier "local_4c") (= "=") (number_literal "8")) (; ";")) (expression_statement "local_44 = 10;" (assignment_expression "local_44 = 10" (identifier "local_44") (= "=") (number_literal "10")) (; ";")) (expression_statement "local_3c = 5;" (assignment_expression "local_3c = 5" (identifier "local_3c") (= "=") (number_literal "5")) (; ";")) (expression_statement "local_34 = 7;" (assignment_expression "local_34 = 7" (identifier "local_34") (= "=") (number_literal "7")) (; ";")) (expression_statement "local_2c = 10;" (assignment_expression "local_2c = 10" (identifier "local_2c") (= "=") (number_literal "10")) (; ";")) (expression_statement "local_28 = "notindexed";" (assignment_expression "local_28 = "notindexed"" (identifier "local_28") (= "=") (string_literal ""notindexed"" (" """) (string_content "notindexed") (" """))) (; ";")) (expression_statement "local_24 = 10;" (assignment_expression "local_24 = 10" (identifier "local_24") (= "=") (number_literal "10")) (; ";")) (if_statement "if (pbVar19 != (byte *)0x0) {\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }" (if "if") (parenthesized_expression "(pbVar19 != (byte *)0x0)" (( "(") (binary_expression "pbVar19 != (byte *)0x0" (identifier "pbVar19") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            iVar8 = 9;\n            iVar26 = 0;\n            do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );\n          }" ({ "{") (expression_statement "iVar8 = 9;" (assignment_expression "iVar8 = 9" (identifier "iVar8") (= "=") (number_literal "9")) (; ";")) (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" (identifier "iVar26") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            } while( true );" (do "do") (compound_statement "{\n              pbVar20 = pbVar19;\n              if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }\n              iVar26 = iVar26 + 1;\n              if (iVar26 == 8) goto LAB_000d0688;\n              iVar8 = (&local_5c)[iVar26 * 2];\n            }" ({ "{") (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" (identifier "pbVar20") (= "=") (identifier "pbVar19")) (; ";")) (if_statement "if ((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }" (if "if") (parenthesized_expression "((local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0))" (( "(") (binary_expression "(local_b4 == (undefined *)iVar8) &&\n                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)" (parenthesized_expression "(local_b4 == (undefined *)iVar8)" (( "(") (binary_expression "local_b4 == (undefined *)iVar8" (identifier "local_b4") (== "==") (cast_expression "(undefined *)iVar8" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iVar8"))) () ")")) (&& "&&") (parenthesized_expression "(iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)" (( "(") (comma_expression "iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0" (assignment_expression "iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4)" (identifier "iVar8") (= "=") (call_expression "FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4)" (identifier "FUN_00028130") (argument_list "(pcVar13,(&local_60)[iVar26 * 2],local_b4)" (( "(") (identifier "pcVar13") (, ",") (subscript_expression "(&local_60)[iVar26 * 2]" (parenthesized_expression "(&local_60)" (( "(") (pointer_expression "&local_60" (& "&") (identifier "local_60")) () ")")) ([ "[") (binary_expression "iVar26 * 2" (identifier "iVar26") (* "*") (number_literal "2")) (] "]")) (, ",") (identifier "local_b4") () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }\n                goto LAB_000d06b8;\n              }" ({ "{") (switch_statement "switch(iVar26) {\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }" (switch "switch") (parenthesized_expression "(iVar26)" (( "(") (identifier "iVar26") () ")")) (compound_statement "{\n                default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;\n                case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;\n                case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;\n                case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;\n                case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;\n                case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;\n                case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;\n                case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;\n                }" ({ "{") (case_statement "default:\n                  sVar7 = strlen((char *)pbVar19);\n                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }\n                  break;" (default "default") (: ":") (expression_statement "sVar7 = strlen((char *)pbVar19);" (assignment_expression "sVar7 = strlen((char *)pbVar19)" (identifier "sVar7") (= "=") (call_expression "strlen((char *)pbVar19)" (identifier "strlen") (argument_list "((char *)pbVar19)" (( "(") (cast_expression "(char *)pbVar19" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar19")) () ")")))) (; ";")) (if_statement "if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {\n                    bVar3 = 1;\n                  }\n                  else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }" (if "if") (parenthesized_expression "((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0))" (( "(") (binary_expression "(sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)" (parenthesized_expression "(sVar7 == 4)" (( "(") (binary_expression "sVar7 == 4" (identifier "sVar7") (== "==") (number_literal "4")) () ")")) (&& "&&") (parenthesized_expression "(iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)" (( "(") (comma_expression "iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0" (assignment_expression "iVar8 = FUN_00028130(pbVar19,"fts3",4)" (identifier "iVar8") (= "=") (call_expression "FUN_00028130(pbVar19,"fts3",4)" (identifier "FUN_00028130") (argument_list "(pbVar19,"fts3",4)" (( "(") (identifier "pbVar19") (, ",") (string_literal ""fts3"" (" """) (string_content "fts3") (" """)) (, ",") (number_literal "4") () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                    bVar3 = 1;\n                  }" ({ "{") (expression_statement "bVar3 = 1;" (assignment_expression "bVar3 = 1" (identifier "bVar3") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }" (else "else") (compound_statement "{\n                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);\n                    local_6c = 1;\n                    bVar3 = 1;\n                  }" ({ "{") (expression_statement "FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);" (call_expression "FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19)" (identifier "FUN_00071050") (argument_list "(param_6,"unrecognized matchinfo: %s",pbVar19)" (( "(") (identifier "param_6") (, ",") (string_literal ""unrecognized matchinfo: %s"" (" """) (string_content "unrecognized matchinfo: %s") (" """)) (, ",") (identifier "pbVar19") () ")"))) (; ";")) (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" (identifier "local_6c") (= "=") (number_literal "1")) (; ";")) (expression_statement "bVar3 = 1;" (assignment_expression "bVar3 = 1" (identifier "bVar3") (= "=") (number_literal "1")) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:\n                  FUN_00024cc0(local_a8);\n                  pbVar20 = (byte *)0x0;\n                  local_a8 = pbVar19;\n                  break;" (case "case") (number_literal "1") (: ":") (expression_statement "FUN_00024cc0(local_a8);" (call_expression "FUN_00024cc0(local_a8)" (identifier "FUN_00024cc0") (argument_list "(local_a8)" (( "(") (identifier "local_a8") () ")"))) (; ";")) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" (identifier "pbVar20") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a8 = pbVar19;" (assignment_expression "local_a8 = pbVar19" (identifier "local_a8") (= "=") (identifier "pbVar19")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n                  FUN_00024cc0(local_a4);\n                  pbVar20 = (byte *)0x0;\n                  local_a4 = pbVar19;\n                  break;" (case "case") (number_literal "2") (: ":") (expression_statement "FUN_00024cc0(local_a4);" (call_expression "FUN_00024cc0(local_a4)" (identifier "FUN_00024cc0") (argument_list "(local_a4)" (( "(") (identifier "local_a4") () ")"))) (; ";")) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" (identifier "pbVar20") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a4 = pbVar19;" (assignment_expression "local_a4 = pbVar19" (identifier "local_a4") (= "=") (identifier "pbVar19")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n                  FUN_00024cc0(local_a0);\n                  pbVar20 = (byte *)0x0;\n                  local_a0 = pbVar19;\n                  break;" (case "case") (number_literal "3") (: ":") (expression_statement "FUN_00024cc0(local_a0);" (call_expression "FUN_00024cc0(local_a0)" (identifier "FUN_00024cc0") (argument_list "(local_a0)" (( "(") (identifier "local_a0") () ")"))) (; ";")) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" (identifier "pbVar20") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a0 = pbVar19;" (assignment_expression "local_a0 = pbVar19" (identifier "local_a0") (= "=") (identifier "pbVar19")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n                  sVar7 = strlen((char *)pbVar19);\n                  if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }\n                  bVar29 = (*pbVar19 & 0xdf) == 0x44;\n                  break;" (case "case") (number_literal "4") (: ":") (expression_statement "sVar7 = strlen((char *)pbVar19);" (assignment_expression "sVar7 = strlen((char *)pbVar19)" (identifier "sVar7") (= "=") (call_expression "strlen((char *)pbVar19)" (identifier "strlen") (argument_list "((char *)pbVar19)" (( "(") (cast_expression "(char *)pbVar19" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar19")) () ")")))) (; ";")) (if_statement "if (sVar7 == 3) {\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }\n                  else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }" (if "if") (parenthesized_expression "(sVar7 == 3)" (( "(") (binary_expression "sVar7 == 3" (identifier "sVar7") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);\n                    if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }\n                  }" ({ "{") (expression_statement "iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);" (assignment_expression "iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3)" (identifier "iVar8") (= "=") (call_expression "FUN_00028130(pbVar19,&UNK_000f82c2,3)" (identifier "FUN_00028130") (argument_list "(pbVar19,&UNK_000f82c2,3)" (( "(") (identifier "pbVar19") (, ",") (pointer_expression "&UNK_000f82c2" (& "&") (identifier "UNK_000f82c2")) (, ",") (number_literal "3") () ")")))) (; ";")) (if_statement "if (iVar8 != 0) {\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      sVar7 = strlen((char *)pbVar19);\n                      goto code_r0x000d0c76;\n                    }" ({ "{") (expression_statement "sVar7 = strlen((char *)pbVar19);" (assignment_expression "sVar7 = strlen((char *)pbVar19)" (identifier "sVar7") (= "=") (call_expression "strlen((char *)pbVar19)" (identifier "strlen") (argument_list "((char *)pbVar19)" (( "(") (cast_expression "(char *)pbVar19" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar19")) () ")")))) (; ";")) (goto_statement "goto code_r0x000d0c76;" (goto "goto") (statement_identifier "code_r0x000d0c76") (; ";")) (} "}"))) (} "}")) (else_clause "else {\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }" (else "else") (compound_statement "{\ncode_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }\n                  }" ({ "{") (labeled_statement "code_r0x000d0c76:\n                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }" (statement_identifier "code_r0x000d0c76") (: ":") (if_statement "if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))\n                    {\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }" (if "if") (parenthesized_expression "((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))" (( "(") (binary_expression "(sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0)" (parenthesized_expression "(sVar7 != 4)" (( "(") (binary_expression "sVar7 != 4" (identifier "sVar7") (!= "!=") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0)" (( "(") (comma_expression "iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0" (assignment_expression "iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4)" (identifier "iVar8") (= "=") (call_expression "FUN_00028130(pbVar19,&UNK_000f82dd,4)" (identifier "FUN_00028130") (argument_list "(pbVar19,&UNK_000f82dd,4)" (( "(") (identifier "pbVar19") (, ",") (pointer_expression "&UNK_000f82dd" (& "&") (identifier "UNK_000f82dd")) (, ",") (number_literal "4") () ")")))) (, ",") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);\n                      local_6c = 1;\n                    }" ({ "{") (expression_statement "FUN_00071050(param_6,"unrecognized order: %s",pbVar19);" (call_expression "FUN_00071050(param_6,"unrecognized order: %s",pbVar19)" (identifier "FUN_00071050") (argument_list "(param_6,"unrecognized order: %s",pbVar19)" (( "(") (identifier "param_6") (, ",") (string_literal ""unrecognized order: %s"" (" """) (string_content "unrecognized order: %s") (" """)) (, ",") (identifier "pbVar19") () ")"))) (; ";")) (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" (identifier "local_6c") (= "=") (number_literal "1")) (; ";")) (} "}")))) (} "}")))) (expression_statement "bVar29 = (*pbVar19 & 0xdf) == 0x44;" (assignment_expression "bVar29 = (*pbVar19 & 0xdf) == 0x44" (identifier "bVar29") (= "=") (binary_expression "(*pbVar19 & 0xdf) == 0x44" (parenthesized_expression "(*pbVar19 & 0xdf)" (( "(") (binary_expression "*pbVar19 & 0xdf" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (& "&") (number_literal "0xdf")) () ")")) (== "==") (number_literal "0x44"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n                  FUN_00024cc0(local_ac);\n                  pbVar20 = (byte *)0x0;\n                  local_ac = pbVar19;\n                  break;" (case "case") (number_literal "5") (: ":") (expression_statement "FUN_00024cc0(local_ac);" (call_expression "FUN_00024cc0(local_ac)" (identifier "FUN_00024cc0") (argument_list "(local_ac)" (( "(") (identifier "local_ac") () ")"))) (; ";")) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" (identifier "pbVar20") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_ac = pbVar19;" (assignment_expression "local_ac = pbVar19" (identifier "local_ac") (= "=") (identifier "pbVar19")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:\n                  FUN_00024cc0(local_9c);\n                  pbVar20 = (byte *)0x0;\n                  local_9c = pbVar19;\n                  break;" (case "case") (number_literal "6") (: ":") (expression_statement "FUN_00024cc0(local_9c);" (call_expression "FUN_00024cc0(local_9c)" (identifier "FUN_00024cc0") (argument_list "(local_9c)" (( "(") (identifier "local_9c") () ")"))) (; ";")) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" (identifier "pbVar20") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_9c = pbVar19;" (assignment_expression "local_9c = pbVar19" (identifier "local_9c") (= "=") (identifier "pbVar19")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 7:\n                  local_c0[local_b0] = (int)pbVar19;\n                  local_b0 = local_b0 + 1;\n                  pbVar20 = (byte *)0x0;" (case "case") (number_literal "7") (: ":") (expression_statement "local_c0[local_b0] = (int)pbVar19;" (assignment_expression "local_c0[local_b0] = (int)pbVar19" (subscript_expression "local_c0[local_b0]" (identifier "local_c0") ([ "[") (identifier "local_b0") (] "]")) (= "=") (cast_expression "(int)pbVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar19"))) (; ";")) (expression_statement "local_b0 = local_b0 + 1;" (assignment_expression "local_b0 = local_b0 + 1" (identifier "local_b0") (= "=") (binary_expression "local_b0 + 1" (identifier "local_b0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" (identifier "pbVar20") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (} "}"))) (goto_statement "goto LAB_000d06b8;" (goto "goto") (statement_identifier "LAB_000d06b8") (; ";")) (} "}"))) (expression_statement "iVar26 = iVar26 + 1;" (assignment_expression "iVar26 = iVar26 + 1" (identifier "iVar26") (= "=") (binary_expression "iVar26 + 1" (identifier "iVar26") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar26 == 8) goto LAB_000d0688;" (if "if") (parenthesized_expression "(iVar26 == 8)" (( "(") (binary_expression "iVar26 == 8" (identifier "iVar26") (== "==") (number_literal "8")) () ")")) (goto_statement "goto LAB_000d0688;" (goto "goto") (statement_identifier "LAB_000d0688") (; ";"))) (expression_statement "iVar8 = (&local_5c)[iVar26 * 2];" (assignment_expression "iVar8 = (&local_5c)[iVar26 * 2]" (identifier "iVar8") (= "=") (subscript_expression "(&local_5c)[iVar26 * 2]" (parenthesized_expression "(&local_5c)" (( "(") (pointer_expression "&local_5c" (& "&") (identifier "local_5c")) () ")")) ([ "[") (binary_expression "iVar26 * 2" (identifier "iVar26") (* "*") (number_literal "2")) (] "]"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" (identifier "local_6c") (= "=") (number_literal "7")) (; ";")) (expression_statement "bVar28 = false;" (assignment_expression "bVar28 = false" (identifier "bVar28") (= "=") (false "false")) (; ";")) (goto_statement "goto LAB_000cfd03;" (goto "goto") (statement_identifier "LAB_000cfd03") (; ";")) (} "}"))) (labeled_statement "LAB_000cf9db:\n        sVar7 = strlen(pcVar13);" (statement_identifier "LAB_000cf9db") (: ":") (expression_statement "sVar7 = strlen(pcVar13);" (assignment_expression "sVar7 = strlen(pcVar13)" (identifier "sVar7") (= "=") (call_expression "strlen(pcVar13)" (identifier "strlen") (argument_list "(pcVar13)" (( "(") (identifier "pcVar13") () ")")))) (; ";"))) (expression_statement "local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);" (assignment_expression "local_d0 = (undefined *)((int)local_d0 + 1U + sVar7)" (identifier "local_d0") (= "=") (cast_expression "(undefined *)((int)local_d0 + 1U + sVar7)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_d0 + 1U + sVar7)" (( "(") (binary_expression "(int)local_d0 + 1U + sVar7" (binary_expression "(int)local_d0 + 1U" (cast_expression "(int)local_d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_d0")) (+ "+") (number_literal "1U")) (+ "+") (identifier "sVar7")) () ")")))) (; ";")) (expression_statement "local_cc[iVar21] = pcVar13;" (assignment_expression "local_cc[iVar21] = pcVar13" (subscript_expression "local_cc[iVar21]" (identifier "local_cc") ([ "[") (identifier "iVar21") (] "]")) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" (identifier "iVar21") (= "=") (binary_expression "iVar21 + 1" (identifier "iVar21") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_000cfa0c;" (goto "goto") (statement_identifier "LAB_000cfa0c") (; ";")) (} "}"))) (expression_statement "bVar3 = 0;" (assignment_expression "bVar3 = 0" (identifier "bVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" (identifier "iVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a8 = (byte *)0x0;" (assignment_expression "local_a8 = (byte *)0x0" (identifier "local_a8") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" (identifier "local_ac") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" (identifier "local_9c") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" (identifier "local_b0") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" (identifier "bVar29") (= "=") (false "false")) (; ";")) (expression_statement "local_d0 = (undefined *)0x0;" (assignment_expression "local_d0 = (undefined *)0x0" (identifier "local_d0") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" (identifier "local_a0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" (identifier "local_a4") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_000d0578;" (goto "goto") (statement_identifier "LAB_000d0578") (; ";")) (} "}"))) (} "}"))) (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" (identifier "local_6c") (= "=") (number_literal "7")) (; ";")) (expression_statement "local_c0 = (int *)0x0;" (assignment_expression "local_c0 = (int *)0x0" (identifier "local_c0") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" (identifier "local_bc") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" (identifier "local_b0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" (identifier "local_9c") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" (identifier "local_ac") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" (identifier "local_a0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" (identifier "local_a4") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a8 = (byte *)0x0;" (assignment_expression "local_a8 = (byte *)0x0" (identifier "local_a8") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" (identifier "local_dc") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_000cfaef;" (goto "goto") (statement_identifier "LAB_000cfaef") (; ";")) (labeled_statement "LAB_000d0688:\n  FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13);" (statement_identifier "LAB_000d0688") (: ":") (expression_statement "FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13);" (call_expression "FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13)" (identifier "FUN_00071050") (argument_list "(param_6,"unrecognized parameter: %s",pcVar13)" (( "(") (identifier "param_6") (, ",") (string_literal ""unrecognized parameter: %s"" (" """) (string_content "unrecognized parameter: %s") (" """)) (, ",") (identifier "pcVar13") () ")"))) (; ";"))) (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" (identifier "local_6c") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_000d06b8:\n  FUN_00024cc0(pbVar20);" (statement_identifier "LAB_000d06b8") (: ":") (expression_statement "FUN_00024cc0(pbVar20);" (call_expression "FUN_00024cc0(pbVar20)" (identifier "FUN_00024cc0") (argument_list "(pbVar20)" (( "(") (identifier "pbVar20") () ")"))) (; ";"))) (labeled_statement "LAB_000cfa0c:\n  bVar28 = local_6c == 0;" (statement_identifier "LAB_000cfa0c") (: ":") (expression_statement "bVar28 = local_6c == 0;" (assignment_expression "bVar28 = local_6c == 0" (identifier "bVar28") (= "=") (binary_expression "local_6c == 0" (identifier "local_6c") (== "==") (number_literal "0"))) (; ";"))) (if_statement "if (param_3 <= iVar23 || !bVar28) goto LAB_000cfd03;" (if "if") (parenthesized_expression "(param_3 <= iVar23 || !bVar28)" (( "(") (binary_expression "param_3 <= iVar23 || !bVar28" (binary_expression "param_3 <= iVar23" (identifier "param_3") (<= "<=") (identifier "iVar23")) (|| "||") (unary_expression "!bVar28" (! "!") (identifier "bVar28"))) () ")")) (goto_statement "goto LAB_000cfd03;" (goto "goto") (statement_identifier "LAB_000cfd03") (; ";"))) (goto_statement "goto LAB_000cfa14;" (goto "goto") (statement_identifier "LAB_000cfa14") (; ";")) (labeled_statement "LAB_000d08d0:\n  iVar23 = iVar23 + 1;" (statement_identifier "LAB_000d08d0") (: ":") (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" (identifier "iVar23") (= "=") (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if (iVar23 == iVar21) goto LAB_000cfd38;" (if "if") (parenthesized_expression "(iVar23 == iVar21)" (( "(") (binary_expression "iVar23 == iVar21" (identifier "iVar23") (== "==") (identifier "iVar21")) () ")")) (goto_statement "goto LAB_000cfd38;" (goto "goto") (statement_identifier "LAB_000cfd38") (; ";"))) (goto_statement "goto LAB_000d08db;" (goto "goto") (statement_identifier "LAB_000d08db") (; ";")) (labeled_statement "LAB_000cfd03:\n  if ((local_ac == (byte *)0x0) || (!bVar28)) {\nLAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }" (statement_identifier "LAB_000cfd03") (: ":") (if_statement "if ((local_ac == (byte *)0x0) || (!bVar28)) {\nLAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }" (if "if") (parenthesized_expression "((local_ac == (byte *)0x0) || (!bVar28))" (( "(") (binary_expression "(local_ac == (byte *)0x0) || (!bVar28)" (parenthesized_expression "(local_ac == (byte *)0x0)" (( "(") (binary_expression "local_ac == (byte *)0x0" (identifier "local_ac") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(!bVar28)" (( "(") (unary_expression "!bVar28" (! "!") (identifier "bVar28")) () ")"))) () ")")) (compound_statement "{\nLAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    goto LAB_000d0580;\n  }" ({ "{") (labeled_statement "LAB_000d0578:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" (statement_identifier "LAB_000d0578") (: ":") (if_statement "if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" (if "if") (parenthesized_expression "(local_6c != 0)" (( "(") (binary_expression "local_6c != 0" (identifier "local_6c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_bc = (undefined4 *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" ({ "{") (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" (identifier "local_bc") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" (identifier "local_dc") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_000cfaef;" (goto "goto") (statement_identifier "LAB_000cfaef") (; ";")) (} "}")))) (goto_statement "goto LAB_000d0580;" (goto "goto") (statement_identifier "LAB_000d0580") (; ";")) (} "}")))) (expression_statement "FUN_00024cc0(local_a4);" (call_expression "FUN_00024cc0(local_a4)" (identifier "FUN_00024cc0") (argument_list "(local_a4)" (( "(") (identifier "local_a4") () ")"))) (; ";")) (expression_statement "FUN_00024cc0(local_a0);" (call_expression "FUN_00024cc0(local_a0)" (identifier "FUN_00024cc0") (argument_list "(local_a0)" (( "(") (identifier "local_a0") () ")"))) (; ";")) (if_statement "if (iVar21 == 0) {\n    FUN_00024cc0(local_cc);\n    local_64 = 0;\n    iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);\n    if (sVar7 != 0) {\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    FUN_00024cc0(iVar21);\n    iVar21 = FUN_0001bb40(local_64);\n    if (iVar21 < 1) {\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }\n  }\n  else {\nLAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    local_6c = 0;\n  }" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00024cc0(local_cc);\n    local_64 = 0;\n    iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);\n    if (sVar7 != 0) {\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    FUN_00024cc0(iVar21);\n    iVar21 = FUN_0001bb40(local_64);\n    if (iVar21 < 1) {\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\nLAB_000d0580:\n    if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }\n  }" ({ "{") (expression_statement "FUN_00024cc0(local_cc);" (call_expression "FUN_00024cc0(local_cc)" (identifier "FUN_00024cc0") (argument_list "(local_cc)" (( "(") (identifier "local_cc") () ")"))) (; ";")) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" (identifier "local_64") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);" (assignment_expression "iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac)" (identifier "iVar21") (= "=") (call_expression "FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac)" (identifier "FUN_00071090") (argument_list "("SELECT * FROM %Q.%Q",param_4[1],local_ac)" (( "(") (string_literal ""SELECT * FROM %Q.%Q"" (" """) (string_content "SELECT * FROM %Q.%Q") (" """)) (, ",") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "local_ac") () ")")))) (; ";")) (if_statement "if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_00024cc0(0);\n      local_6c = 7;\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" ({ "{") (expression_statement "FUN_00024cc0(0);" (call_expression "FUN_00024cc0(0)" (identifier "FUN_00024cc0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" (identifier "local_6c") (= "=") (number_literal "7")) (; ";")) (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" (identifier "local_bc") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_cc = (undefined4 *)0x0;" (assignment_expression "local_cc = (undefined4 *)0x0" (identifier "local_cc") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" (identifier "local_a0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" (identifier "local_a4") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" (identifier "local_dc") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_000cfaef;" (goto "goto") (statement_identifier "LAB_000cfaef") (; ";")) (} "}"))) (expression_statement "sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);" (assignment_expression "sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0)" (identifier "sVar7") (= "=") (call_expression "FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0)" (identifier "FUN_000c1ed0") (argument_list "(param_2,iVar21,0xffffffff,&local_64,0)" (( "(") (identifier "param_2") (, ",") (identifier "iVar21") (, ",") (number_literal "0xffffffff") (, ",") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (sVar7 != 0) {\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" (if "if") (parenthesized_expression "(sVar7 != 0)" (( "(") (binary_expression "sVar7 != 0" (identifier "sVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar17 = FUN_00055cc0(param_2);\n      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);\n      FUN_00024cc0(iVar21);\n      local_6c = sVar7;\nLAB_000d0e57:\n      local_bc = (undefined4 *)0x0;\n      local_cc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" ({ "{") (expression_statement "uVar17 = FUN_00055cc0(param_2);" (assignment_expression "uVar17 = FUN_00055cc0(param_2)" (identifier "uVar17") (= "=") (call_expression "FUN_00055cc0(param_2)" (identifier "FUN_00055cc0") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "FUN_00071050(param_6,&DAT_000f6ce3,uVar17);" (call_expression "FUN_00071050(param_6,&DAT_000f6ce3,uVar17)" (identifier "FUN_00071050") (argument_list "(param_6,&DAT_000f6ce3,uVar17)" (( "(") (identifier "param_6") (, ",") (pointer_expression "&DAT_000f6ce3" (& "&") (identifier "DAT_000f6ce3")) (, ",") (identifier "uVar17") () ")"))) (; ";")) (expression_statement "FUN_00024cc0(iVar21);" (call_expression "FUN_00024cc0(iVar21)" (identifier "FUN_00024cc0") (argument_list "(iVar21)" (( "(") (identifier "iVar21") () ")"))) (; ";")) (expression_statement "local_6c = sVar7;" (assignment_expression "local_6c = sVar7" (identifier "local_6c") (= "=") (identifier "sVar7")) (; ";")) (labeled_statement "LAB_000d0e57:\n      local_bc = (undefined4 *)0x0;" (statement_identifier "LAB_000d0e57") (: ":") (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" (identifier "local_bc") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "local_cc = (undefined4 *)0x0;" (assignment_expression "local_cc = (undefined4 *)0x0" (identifier "local_cc") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" (identifier "local_a0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" (identifier "local_a4") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" (identifier "local_dc") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_000cfaef;" (goto "goto") (statement_identifier "LAB_000cfaef") (; ";")) (} "}"))) (expression_statement "FUN_00024cc0(iVar21);" (call_expression "FUN_00024cc0(iVar21)" (identifier "FUN_00024cc0") (argument_list "(iVar21)" (( "(") (identifier "iVar21") () ")"))) (; ";")) (expression_statement "iVar21 = FUN_0001bb40(local_64);" (assignment_expression "iVar21 = FUN_0001bb40(local_64)" (identifier "iVar21") (= "=") (call_expression "FUN_0001bb40(local_64)" (identifier "FUN_0001bb40") (argument_list "(local_64)" (( "(") (identifier "local_64") () ")")))) (; ";")) (if_statement "if (iVar21 < 1) {\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }\n    else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }" (if "if") (parenthesized_expression "(iVar21 < 1)" (( "(") (binary_expression "iVar21 < 1" (identifier "iVar21") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);\n      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      local_d0 = (undefined *)0x0;\n      if (local_9c == (byte *)0x0) goto LAB_000d1169;\n      local_d0 = (undefined *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }" ({ "{") (expression_statement "local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);" (assignment_expression "local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0)" (identifier "local_cc") (= "=") (cast_expression "(undefined4 *)FUN_0003f0c0(iVar21 * 4,0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003f0c0(iVar21 * 4,0)" (identifier "FUN_0003f0c0") (argument_list "(iVar21 * 4,0)" (( "(") (binary_expression "iVar21 * 4" (identifier "iVar21") (* "*") (number_literal "4")) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;" (if "if") (parenthesized_expression "(local_cc == (undefined4 *)0x0)" (( "(") (binary_expression "local_cc == (undefined4 *)0x0" (identifier "local_cc") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000d1187;" (goto "goto") (statement_identifier "LAB_000d1187") (; ";"))) (expression_statement "FUN_00089c20(local_64);" (call_expression "FUN_00089c20(local_64)" (identifier "FUN_00089c20") (argument_list "(local_64)" (( "(") (identifier "local_64") () ")"))) (; ";")) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d0 = (undefined *)0x0;" (assignment_expression "local_d0 = (undefined *)0x0" (identifier "local_d0") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (local_9c == (byte *)0x0) goto LAB_000d1169;" (if "if") (parenthesized_expression "(local_9c == (byte *)0x0)" (( "(") (binary_expression "local_9c == (byte *)0x0" (identifier "local_9c") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000d1169;" (goto "goto") (statement_identifier "LAB_000d1169") (; ";"))) (expression_statement "local_d0 = (undefined *)0x0;" (assignment_expression "local_d0 = (undefined *)0x0" (identifier "local_d0") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" (identifier "local_a0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" (identifier "local_a4") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }" (else "else") (compound_statement "{\n      iVar23 = 0;\n      local_d0 = (undefined *)0x0;\n      iVar8 = 0;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);\n      local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));\n      if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }\n      iVar23 = 0;\n      puVar27 = local_cc + iVar21;\n      do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);\n      FUN_00089c20(local_64);\n      local_6c = 0;\n      if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }\nLAB_000d1169:\n      local_6c = 0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\n    }" ({ "{") (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" (identifier "iVar23") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d0 = (undefined *)0x0;" (assignment_expression "local_d0 = (undefined *)0x0" (identifier "local_d0") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      } while (iVar21 != iVar8);" (do "do") (compound_statement "{\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);\n        sVar7 = strlen(pcVar13);\n        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);\n        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);\n        iVar23 = iVar23 + (uint)bVar28;\n        iVar8 = iVar8 + 1;\n      }" ({ "{") (expression_statement "pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);" (assignment_expression "pcVar13 = (char *)FUN_0003ac60(local_64,iVar8)" (identifier "pcVar13") (= "=") (cast_expression "(char *)FUN_0003ac60(local_64,iVar8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003ac60(local_64,iVar8)" (identifier "FUN_0003ac60") (argument_list "(local_64,iVar8)" (( "(") (identifier "local_64") (, ",") (identifier "iVar8") () ")"))))) (; ";")) (expression_statement "sVar7 = strlen(pcVar13);" (assignment_expression "sVar7 = strlen(pcVar13)" (identifier "sVar7") (= "=") (call_expression "strlen(pcVar13)" (identifier "strlen") (argument_list "(pcVar13)" (( "(") (identifier "pcVar13") () ")")))) (; ";")) (expression_statement "bVar28 = CARRY4((uint)local_d0,sVar7 + 1);" (assignment_expression "bVar28 = CARRY4((uint)local_d0,sVar7 + 1)" (identifier "bVar28") (= "=") (call_expression "CARRY4((uint)local_d0,sVar7 + 1)" (identifier "CARRY4") (argument_list "((uint)local_d0,sVar7 + 1)" (( "(") (cast_expression "(uint)local_d0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_d0")) (, ",") (binary_expression "sVar7 + 1" (identifier "sVar7") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);" (assignment_expression "local_d0 = (undefined *)((int)local_d0 + sVar7 + 1)" (identifier "local_d0") (= "=") (cast_expression "(undefined *)((int)local_d0 + sVar7 + 1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_d0 + sVar7 + 1)" (( "(") (binary_expression "(int)local_d0 + sVar7 + 1" (binary_expression "(int)local_d0 + sVar7" (cast_expression "(int)local_d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_d0")) (+ "+") (identifier "sVar7")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar23 = iVar23 + (uint)bVar28;" (assignment_expression "iVar23 = iVar23 + (uint)bVar28" (identifier "iVar23") (= "=") (binary_expression "iVar23 + (uint)bVar28" (identifier "iVar23") (+ "+") (cast_expression "(uint)bVar28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar28")))) (; ";")) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar21 != iVar8)" (( "(") (binary_expression "iVar21 != iVar8" (identifier "iVar21") (!= "!=") (identifier "iVar8")) () ")")) (; ";")) (expression_statement "local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));" (assignment_expression "local_cc = (undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0))" (identifier "local_cc") (= "=") (cast_expression "(undefined4 *)\n                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003f0c0(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0))" (identifier "FUN_0003f0c0") (argument_list "(iVar21 * 4 + (int)local_d0,\n                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0))" (( "(") (binary_expression "iVar21 * 4 + (int)local_d0" (binary_expression "iVar21 * 4" (identifier "iVar21") (* "*") (number_literal "4")) (+ "+") (cast_expression "(int)local_d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_d0"))) (, ",") (binary_expression "iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0)" (identifier "iVar23") (+ "+") (cast_expression "(uint)CARRY4(iVar21 * 4,(uint)local_d0)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(iVar21 * 4,(uint)local_d0)" (identifier "CARRY4") (argument_list "(iVar21 * 4,(uint)local_d0)" (( "(") (binary_expression "iVar21 * 4" (identifier "iVar21") (* "*") (number_literal "4")) (, ",") (cast_expression "(uint)local_d0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_d0")) () ")"))))) () ")"))))) (; ";")) (if_statement "if (local_cc == (undefined4 *)0x0) {\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }" (if "if") (parenthesized_expression "(local_cc == (undefined4 *)0x0)" (( "(") (binary_expression "local_cc == (undefined4 *)0x0" (identifier "local_cc") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000d1187:\n        FUN_00089c20(local_64);\n        local_6c = 7;\n        goto LAB_000d0e57;\n      }" ({ "{") (labeled_statement "LAB_000d1187:\n        FUN_00089c20(local_64);" (statement_identifier "LAB_000d1187") (: ":") (expression_statement "FUN_00089c20(local_64);" (call_expression "FUN_00089c20(local_64)" (identifier "FUN_00089c20") (argument_list "(local_64)" (( "(") (identifier "local_64") () ")"))) (; ";"))) (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" (identifier "local_6c") (= "=") (number_literal "7")) (; ";")) (goto_statement "goto LAB_000d0e57;" (goto "goto") (statement_identifier "LAB_000d0e57") (; ";")) (} "}"))) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" (identifier "iVar23") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar27 = local_cc + iVar21;" (assignment_expression "puVar27 = local_cc + iVar21" (identifier "puVar27") (= "=") (binary_expression "local_cc + iVar21" (identifier "local_cc") (+ "+") (identifier "iVar21"))) (; ";")) (do_statement "do {\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      } while (iVar21 != iVar23);" (do "do") (compound_statement "{\n        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);\n        sVar7 = strlen(pcVar13);\n        memcpy(puVar27,pcVar13,sVar7 + 1);\n        local_cc[iVar23] = puVar27;\n        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);\n        iVar23 = iVar23 + 1;\n      }" ({ "{") (expression_statement "pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);" (assignment_expression "pcVar13 = (char *)FUN_0003ac60(local_64,iVar23)" (identifier "pcVar13") (= "=") (cast_expression "(char *)FUN_0003ac60(local_64,iVar23)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003ac60(local_64,iVar23)" (identifier "FUN_0003ac60") (argument_list "(local_64,iVar23)" (( "(") (identifier "local_64") (, ",") (identifier "iVar23") () ")"))))) (; ";")) (expression_statement "sVar7 = strlen(pcVar13);" (assignment_expression "sVar7 = strlen(pcVar13)" (identifier "sVar7") (= "=") (call_expression "strlen(pcVar13)" (identifier "strlen") (argument_list "(pcVar13)" (( "(") (identifier "pcVar13") () ")")))) (; ";")) (expression_statement "memcpy(puVar27,pcVar13,sVar7 + 1);" (call_expression "memcpy(puVar27,pcVar13,sVar7 + 1)" (identifier "memcpy") (argument_list "(puVar27,pcVar13,sVar7 + 1)" (( "(") (identifier "puVar27") (, ",") (identifier "pcVar13") (, ",") (binary_expression "sVar7 + 1" (identifier "sVar7") (+ "+") (number_literal "1")) () ")"))) (; ";")) (expression_statement "local_cc[iVar23] = puVar27;" (assignment_expression "local_cc[iVar23] = puVar27" (subscript_expression "local_cc[iVar23]" (identifier "local_cc") ([ "[") (identifier "iVar23") (] "]")) (= "=") (identifier "puVar27")) (; ";")) (expression_statement "puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);" (assignment_expression "puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1)" (identifier "puVar27") (= "=") (cast_expression "(undefined4 *)((int)puVar27 + sVar7 + 1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar27 + sVar7 + 1)" (( "(") (binary_expression "(int)puVar27 + sVar7 + 1" (binary_expression "(int)puVar27 + sVar7" (cast_expression "(int)puVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar27")) (+ "+") (identifier "sVar7")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" (identifier "iVar23") (= "=") (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar21 != iVar23)" (( "(") (binary_expression "iVar21 != iVar23" (identifier "iVar21") (!= "!=") (identifier "iVar23")) () ")")) (; ";")) (expression_statement "FUN_00089c20(local_64);" (call_expression "FUN_00089c20(local_64)" (identifier "FUN_00089c20") (argument_list "(local_64)" (( "(") (identifier "local_64") () ")"))) (; ";")) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_9c != (byte *)0x0) {\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }" (if "if") (parenthesized_expression "(local_9c != (byte *)0x0)" (( "(") (binary_expression "local_9c != (byte *)0x0" (identifier "local_9c") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar23 = 0;\nLAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);\n        if (iVar8 != 0) goto LAB_000d08d0;\n        puVar27 = local_cc + iVar23;\n        if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }\n        iVar21 = iVar21 + -1;\n        local_a0 = (byte *)0x0;\n        local_a4 = (byte *)0x0;\n        goto LAB_000d0578;\n      }" ({ "{") (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" (identifier "iVar23") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_000d08db:\n        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);" (statement_identifier "LAB_000d08db") (: ":") (expression_statement "iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);" (assignment_expression "iVar8 = FUN_00027b40(local_9c,local_cc[iVar23])" (identifier "iVar8") (= "=") (call_expression "FUN_00027b40(local_9c,local_cc[iVar23])" (identifier "FUN_00027b40") (argument_list "(local_9c,local_cc[iVar23])" (( "(") (identifier "local_9c") (, ",") (subscript_expression "local_cc[iVar23]" (identifier "local_cc") ([ "[") (identifier "iVar23") (] "]")) () ")")))) (; ";"))) (if_statement "if (iVar8 != 0) goto LAB_000d08d0;" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000d08d0;" (goto "goto") (statement_identifier "LAB_000d08d0") (; ";"))) (expression_statement "puVar27 = local_cc + iVar23;" (assignment_expression "puVar27 = local_cc + iVar23" (identifier "puVar27") (= "=") (binary_expression "local_cc + iVar23" (identifier "local_cc") (+ "+") (identifier "iVar23"))) (; ";")) (if_statement "if (iVar23 < iVar21) {\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }" (if "if") (parenthesized_expression "(iVar23 < iVar21)" (( "(") (binary_expression "iVar23 < iVar21" (identifier "iVar23") (< "<") (identifier "iVar21")) () ")")) (compound_statement "{\n          do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);\n        }" ({ "{") (do_statement "do {\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          } while (local_cc + iVar21 != puVar14);" (do "do") (compound_statement "{\n            puVar14 = puVar27 + 1;\n            *puVar27 = puVar27[1];\n            puVar27 = puVar14;\n          }" ({ "{") (expression_statement "puVar14 = puVar27 + 1;" (assignment_expression "puVar14 = puVar27 + 1" (identifier "puVar14") (= "=") (binary_expression "puVar27 + 1" (identifier "puVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar27 = puVar27[1];" (assignment_expression "*puVar27 = puVar27[1]" (pointer_expression "*puVar27" (* "*") (identifier "puVar27")) (= "=") (subscript_expression "puVar27[1]" (identifier "puVar27") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar27 = puVar14;" (assignment_expression "puVar27 = puVar14" (identifier "puVar27") (= "=") (identifier "puVar14")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_cc + iVar21 != puVar14)" (( "(") (binary_expression "local_cc + iVar21 != puVar14" (binary_expression "local_cc + iVar21" (identifier "local_cc") (+ "+") (identifier "iVar21")) (!= "!=") (identifier "puVar14")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar21 = iVar21 + -1;" (assignment_expression "iVar21 = iVar21 + -1" (identifier "iVar21") (= "=") (binary_expression "iVar21 + -1" (identifier "iVar21") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" (identifier "local_a0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" (identifier "local_a4") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_000d0578;" (goto "goto") (statement_identifier "LAB_000d0578") (; ";")) (} "}"))) (labeled_statement "LAB_000d1169:\n      local_6c = 0;" (statement_identifier "LAB_000d1169") (: ":") (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";"))) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" (identifier "local_a0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" (identifier "local_a4") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (labeled_statement "LAB_000d0580:\n    if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }" (statement_identifier "LAB_000d0580") (: ":") (if_statement "if (iVar21 == 0) {\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar21 = 1;\n      local_d0 = (undefined *)0x8;\n      *local_cc = "content";\n    }" ({ "{") (expression_statement "iVar21 = 1;" (assignment_expression "iVar21 = 1" (identifier "iVar21") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_d0 = (undefined *)0x8;" (assignment_expression "local_d0 = (undefined *)0x8" (identifier "local_d0") (= "=") (cast_expression "(undefined *)0x8" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x8"))) (; ";")) (expression_statement "*local_cc = "content";" (assignment_expression "*local_cc = "content"" (pointer_expression "*local_cc" (* "*") (identifier "local_cc")) (= "=") (string_literal ""content"" (" """) (string_content "content") (" """))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\nLAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    local_6c = 0;\n  }" (else "else") (compound_statement "{\nLAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n    local_a0 = (byte *)0x0;\n    local_a4 = (byte *)0x0;\n    local_6c = 0;\n  }" ({ "{") (labeled_statement "LAB_000cfd38:\n    if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" (statement_identifier "LAB_000cfd38") (: ":") (if_statement "if (local_6c != 0) {\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" (if "if") (parenthesized_expression "(local_6c != 0)" (( "(") (binary_expression "local_6c != 0" (identifier "local_6c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_bc = (undefined4 *)0x0;\n      local_a0 = (byte *)0x0;\n      local_a4 = (byte *)0x0;\nLAB_000d0985:\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" ({ "{") (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" (identifier "local_bc") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" (identifier "local_a0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" (identifier "local_a4") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_000d0985:\n      local_dc = (void *)0x0;" (statement_identifier "LAB_000d0985") (: ":") (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" (identifier "local_dc") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (goto_statement "goto LAB_000cfaef;" (goto "goto") (statement_identifier "LAB_000cfaef") (; ";")) (} "}")))) (expression_statement "local_a0 = (byte *)0x0;" (assignment_expression "local_a0 = (byte *)0x0" (identifier "local_a0") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a4 = (byte *)0x0;" (assignment_expression "local_a4 = (byte *)0x0" (identifier "local_a4") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if (local_68 == (int *)0x0) {\n    local_6c = FUN_00076a00(param_6);\n    local_bc = (undefined4 *)0x0;\n    if (local_6c != 0) {\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n  }" (if "if") (parenthesized_expression "(local_68 == (int *)0x0)" (( "(") (binary_expression "local_68 == (int *)0x0" (identifier "local_68") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_6c = FUN_00076a00(param_6);\n    local_bc = (undefined4 *)0x0;\n    if (local_6c != 0) {\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }\n  }" ({ "{") (expression_statement "local_6c = FUN_00076a00(param_6);" (assignment_expression "local_6c = FUN_00076a00(param_6)" (identifier "local_6c") (= "=") (call_expression "FUN_00076a00(param_6)" (identifier "FUN_00076a00") (argument_list "(param_6)" (( "(") (identifier "param_6") () ")")))) (; ";")) (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" (identifier "local_bc") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (local_6c != 0) {\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" (if "if") (parenthesized_expression "(local_6c != 0)" (( "(") (binary_expression "local_6c != 0" (identifier "local_6c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_dc = (void *)0x0;\n      goto LAB_000cfaef;\n    }" ({ "{") (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" (identifier "local_dc") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_000cfaef;" (goto "goto") (statement_identifier "LAB_000cfaef") (; ";")) (} "}"))) (} "}"))) (if_statement "if (local_a8 == (byte *)0x0) {\n    local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar15 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    local_6c = 0;\n    iVar23 = 6;\n    local_80 = 1;\n    local_b4 = (undefined *)0x1;\n  }\n  else {\n    bVar4 = *local_a8;\n    if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }\n    local_6c = 0;\n    local_b4 = (undefined *)local_80;\n  }" (if "if") (parenthesized_expression "(local_a8 == (byte *)0x0)" (( "(") (binary_expression "local_a8 == (byte *)0x0" (identifier "local_a8") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n    *local_bc = 0;\n    local_bc[5] = 0;\n    uVar15 = 0;\n    do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));\n    local_6c = 0;\n    iVar23 = 6;\n    local_80 = 1;\n    local_b4 = (undefined *)0x1;\n  }" ({ "{") (expression_statement "local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);" (assignment_expression "local_bc = (undefined4 *)FUN_0003f0c0(0x18,0)" (identifier "local_bc") (= "=") (cast_expression "(undefined4 *)FUN_0003f0c0(0x18,0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003f0c0(0x18,0)" (identifier "FUN_0003f0c0") (argument_list "(0x18,0)" (( "(") (number_literal "0x18") (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;" (if "if") (parenthesized_expression "(local_bc == (undefined4 *)0x0)" (( "(") (binary_expression "local_bc == (undefined4 *)0x0" (identifier "local_bc") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000d06fb;" (goto "goto") (statement_identifier "LAB_000d06fb") (; ";"))) (expression_statement "*local_bc = 0;" (assignment_expression "*local_bc = 0" (pointer_expression "*local_bc" (* "*") (identifier "local_bc")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_bc[5] = 0;" (assignment_expression "local_bc[5] = 0" (subscript_expression "local_bc[5]" (identifier "local_bc") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));" (do "do") (compound_statement "{\n      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n      uVar15 = uVar15 + 4;\n    }" ({ "{") (expression_statement "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;" (assignment_expression "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0" (pointer_expression "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" (* "*") (cast_expression "(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" (( "(") (binary_expression "((uint)(local_bc + 1) & 0xfffffffc) + uVar15" (parenthesized_expression "((uint)(local_bc + 1) & 0xfffffffc)" (( "(") (binary_expression "(uint)(local_bc + 1) & 0xfffffffc" (call_expression "(uint)(local_bc + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_bc + 1)" (( "(") (binary_expression "local_bc + 1" (identifier "local_bc") (+ "+") (number_literal "1")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")")) (+ "+") (identifier "uVar15")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar15 = uVar15 + 4;" (assignment_expression "uVar15 = uVar15 + 4" (identifier "uVar15") (= "=") (binary_expression "uVar15 + 4" (identifier "uVar15") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))" (( "(") (binary_expression "uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc)" (identifier "uVar15") (< "<") (parenthesized_expression "((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc)" (( "(") (binary_expression "(int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc" (binary_expression "(int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc))" (cast_expression "(int)local_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_bc")) (+ "+") (parenthesized_expression "(0x18 - ((uint)(local_bc + 1) & 0xfffffffc))" (( "(") (binary_expression "0x18 - ((uint)(local_bc + 1) & 0xfffffffc)" (number_literal "0x18") (- "-") (parenthesized_expression "((uint)(local_bc + 1) & 0xfffffffc)" (( "(") (binary_expression "(uint)(local_bc + 1) & 0xfffffffc" (call_expression "(uint)(local_bc + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_bc + 1)" (( "(") (binary_expression "local_bc + 1" (identifier "local_bc") (+ "+") (number_literal "1")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")"))) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")"))) () ")")) (; ";")) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar23 = 6;" (assignment_expression "iVar23 = 6" (identifier "iVar23") (= "=") (number_literal "6")) (; ";")) (expression_statement "local_80 = 1;" (assignment_expression "local_80 = 1" (identifier "local_80") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_b4 = (undefined *)0x1;" (assignment_expression "local_b4 = (undefined *)0x1" (identifier "local_b4") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else {\n    bVar4 = *local_a8;\n    if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }\n    local_6c = 0;\n    local_b4 = (undefined *)local_80;\n  }" (else "else") (compound_statement "{\n    bVar4 = *local_a8;\n    if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }\n    local_6c = 0;\n    local_b4 = (undefined *)local_80;\n  }" ({ "{") (expression_statement "bVar4 = *local_a8;" (assignment_expression "bVar4 = *local_a8" (identifier "bVar4") (= "=") (pointer_expression "*local_a8" (* "*") (identifier "local_a8"))) (; ";")) (if_statement "if (bVar4 == 0) {\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }\n    else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }" (if "if") (parenthesized_expression "(bVar4 == 0)" (( "(") (binary_expression "bVar4 == 0" (identifier "bVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);\n      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;\n      *local_bc = 0;\n      local_bc[5] = 0;\n      uVar15 = 0;\n      do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;\n      iVar23 = 6;\n      local_80 = 1;\n    }" ({ "{") (expression_statement "local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);" (assignment_expression "local_bc = (undefined4 *)FUN_0003f0c0(0x18,0)" (identifier "local_bc") (= "=") (cast_expression "(undefined4 *)FUN_0003f0c0(0x18,0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003f0c0(0x18,0)" (identifier "FUN_0003f0c0") (argument_list "(0x18,0)" (( "(") (number_literal "0x18") (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;" (if "if") (parenthesized_expression "(local_bc == (undefined4 *)0x0)" (( "(") (binary_expression "local_bc == (undefined4 *)0x0" (identifier "local_bc") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000d06fb;" (goto "goto") (statement_identifier "LAB_000d06fb") (; ";"))) (expression_statement "*local_bc = 0;" (assignment_expression "*local_bc = 0" (pointer_expression "*local_bc" (* "*") (identifier "local_bc")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_bc[5] = 0;" (assignment_expression "local_bc[5] = 0" (subscript_expression "local_bc[5]" (identifier "local_bc") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))\n      ;" (do "do") (compound_statement "{\n        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;\n        uVar15 = uVar15 + 4;\n      }" ({ "{") (expression_statement "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;" (assignment_expression "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0" (pointer_expression "*(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" (* "*") (cast_expression "(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((uint)(local_bc + 1) & 0xfffffffc) + uVar15)" (( "(") (binary_expression "((uint)(local_bc + 1) & 0xfffffffc) + uVar15" (parenthesized_expression "((uint)(local_bc + 1) & 0xfffffffc)" (( "(") (binary_expression "(uint)(local_bc + 1) & 0xfffffffc" (call_expression "(uint)(local_bc + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_bc + 1)" (( "(") (binary_expression "local_bc + 1" (identifier "local_bc") (+ "+") (number_literal "1")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")")) (+ "+") (identifier "uVar15")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar15 = uVar15 + 4;" (assignment_expression "uVar15 = uVar15 + 4" (identifier "uVar15") (= "=") (binary_expression "uVar15 + 4" (identifier "uVar15") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))" (( "(") (binary_expression "uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc)" (identifier "uVar15") (< "<") (parenthesized_expression "((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc)" (( "(") (binary_expression "(int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc" (binary_expression "(int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc))" (cast_expression "(int)local_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_bc")) (+ "+") (parenthesized_expression "(0x18 - ((uint)(local_bc + 1) & 0xfffffffc))" (( "(") (binary_expression "0x18 - ((uint)(local_bc + 1) & 0xfffffffc)" (number_literal "0x18") (- "-") (parenthesized_expression "((uint)(local_bc + 1) & 0xfffffffc)" (( "(") (binary_expression "(uint)(local_bc + 1) & 0xfffffffc" (call_expression "(uint)(local_bc + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_bc + 1)" (( "(") (binary_expression "local_bc + 1" (identifier "local_bc") (+ "+") (number_literal "1")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")"))) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")"))) () ")")) (; ";")) (expression_statement "iVar23 = 6;" (assignment_expression "iVar23 = 6" (identifier "iVar23") (= "=") (number_literal "6")) (; ";")) (expression_statement "local_80 = 1;" (assignment_expression "local_80 = 1" (identifier "local_80") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }" (else "else") (compound_statement "{\n      local_b4 = (undefined *)0x2;\n      pbVar19 = local_a8;\n      do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);\n      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);\n      if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }\n      memset(local_bc,0,(int)local_b4 * 0x18);\n      local_b8 = 1;\n      pbVar19 = local_a8;\n      do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);\n      local_80 = (size_t)local_b4;\n      iVar23 = (int)local_b4 * 6;\n    }" ({ "{") (expression_statement "local_b4 = (undefined *)0x2;" (assignment_expression "local_b4 = (undefined *)0x2" (identifier "local_b4") (= "=") (cast_expression "(undefined *)0x2" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "pbVar19 = local_a8;" (assignment_expression "pbVar19 = local_a8" (identifier "pbVar19") (= "=") (identifier "local_a8")) (; ";")) (do_statement "do {\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      } while (bVar4 != 0);" (do "do") (compound_statement "{\n        pbVar19 = pbVar19 + 1;\n        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));\n        bVar4 = *pbVar19;\n      }" ({ "{") (expression_statement "pbVar19 = pbVar19 + 1;" (assignment_expression "pbVar19 = pbVar19 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + 1" (identifier "pbVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));" (assignment_expression "local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c))" (identifier "local_b4") (= "=") (cast_expression "(undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c))" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_b4 + (uint)(bVar4 == 0x2c))" (( "(") (binary_expression "(int)local_b4 + (uint)(bVar4 == 0x2c)" (cast_expression "(int)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b4")) (+ "+") (call_expression "(uint)(bVar4 == 0x2c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(bVar4 == 0x2c)" (( "(") (binary_expression "bVar4 == 0x2c" (identifier "bVar4") (== "==") (number_literal "0x2c")) () ")")))) () ")")))) (; ";")) (expression_statement "bVar4 = *pbVar19;" (assignment_expression "bVar4 = *pbVar19" (identifier "bVar4") (= "=") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar4 != 0)" (( "(") (binary_expression "bVar4 != 0" (identifier "bVar4") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);" (assignment_expression "local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0)" (identifier "local_bc") (= "=") (cast_expression "(undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003f0c0((int)local_b4 * 0x18,0)" (identifier "FUN_0003f0c0") (argument_list "((int)local_b4 * 0x18,0)" (( "(") (binary_expression "(int)local_b4 * 0x18" (cast_expression "(int)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b4")) (* "*") (number_literal "0x18")) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (local_bc == (undefined4 *)0x0) {\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }" (if "if") (parenthesized_expression "(local_bc == (undefined4 *)0x0)" (( "(") (binary_expression "local_bc == (undefined4 *)0x0" (identifier "local_bc") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000d06fb:\n        local_6c = 7;\n        local_bc = (undefined4 *)0x0;\n        local_dc = (void *)0x0;\n        goto LAB_000cfaef;\n      }" ({ "{") (labeled_statement "LAB_000d06fb:\n        local_6c = 7;" (statement_identifier "LAB_000d06fb") (: ":") (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" (identifier "local_6c") (= "=") (number_literal "7")) (; ";"))) (expression_statement "local_bc = (undefined4 *)0x0;" (assignment_expression "local_bc = (undefined4 *)0x0" (identifier "local_bc") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_dc = (void *)0x0;" (assignment_expression "local_dc = (void *)0x0" (identifier "local_dc") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_000cfaef;" (goto "goto") (statement_identifier "LAB_000cfaef") (; ";")) (} "}"))) (expression_statement "memset(local_bc,0,(int)local_b4 * 0x18);" (call_expression "memset(local_bc,0,(int)local_b4 * 0x18)" (identifier "memset") (argument_list "(local_bc,0,(int)local_b4 * 0x18)" (( "(") (identifier "local_bc") (, ",") (number_literal "0") (, ",") (binary_expression "(int)local_b4 * 0x18" (cast_expression "(int)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b4")) (* "*") (number_literal "0x18")) () ")"))) (; ";")) (expression_statement "local_b8 = 1;" (assignment_expression "local_b8 = 1" (identifier "local_b8") (= "=") (number_literal "1")) (; ";")) (expression_statement "pbVar19 = local_a8;" (assignment_expression "pbVar19 = local_a8" (identifier "pbVar19") (= "=") (identifier "local_a8")) (; ";")) (do_statement "do {\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      } while (local_b8 < (int)local_b4);" (do "do") (compound_statement "{\n        if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }\n        iVar23 = (char)*pbVar19 + -0x30;\n        pbVar20 = pbVar19;\n        do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);\n        if (pbVar20 == pbVar19) goto LAB_000d094c;\nLAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);\nLAB_000cfe51:\n        pbVar19 = pbVar18 + 2;\n      }" ({ "{") (if_statement "if (9 < (byte)(*pbVar19 - 0x30)) {\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }" (if "if") (parenthesized_expression "(9 < (byte)(*pbVar19 - 0x30))" (( "(") (binary_expression "9 < (byte)(*pbVar19 - 0x30)" (number_literal "9") (< "<") (call_expression "(byte)(*pbVar19 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(*pbVar19 - 0x30)" (( "(") (binary_expression "*pbVar19 - 0x30" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (- "-") (number_literal "0x30")) () ")")))) () ")")) (compound_statement "{\nLAB_000d094c:\n          local_6c = 1;\n          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);\n          local_b4 = (undefined *)local_6c;\n          if (local_6c != 0) goto LAB_000d0985;\n          local_80 = 0;\n          iVar23 = 0;\n          goto LAB_000cfe77;\n        }" ({ "{") (labeled_statement "LAB_000d094c:\n          local_6c = 1;" (statement_identifier "LAB_000d094c") (: ":") (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" (identifier "local_6c") (= "=") (number_literal "1")) (; ";"))) (expression_statement "FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);" (call_expression "FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8)" (identifier "FUN_00071050") (argument_list "(param_6,"error parsing prefix parameter: %s",local_a8)" (( "(") (identifier "param_6") (, ",") (string_literal ""error parsing prefix parameter: %s"" (" """) (string_content "error parsing prefix parameter: %s") (" """)) (, ",") (identifier "local_a8") () ")"))) (; ";")) (expression_statement "local_b4 = (undefined *)local_6c;" (assignment_expression "local_b4 = (undefined *)local_6c" (identifier "local_b4") (= "=") (cast_expression "(undefined *)local_6c" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_6c"))) (; ";")) (if_statement "if (local_6c != 0) goto LAB_000d0985;" (if "if") (parenthesized_expression "(local_6c != 0)" (( "(") (binary_expression "local_6c != 0" (identifier "local_6c") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000d0985;" (goto "goto") (statement_identifier "LAB_000d0985") (; ";"))) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" (identifier "local_80") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" (identifier "iVar23") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000cfe77;" (goto "goto") (statement_identifier "LAB_000cfe77") (; ";")) (} "}"))) (expression_statement "iVar23 = (char)*pbVar19 + -0x30;" (assignment_expression "iVar23 = (char)*pbVar19 + -0x30" (identifier "iVar23") (= "=") (binary_expression "(char)*pbVar19 + -0x30" (cast_expression "(char)*pbVar19" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19"))) (+ "+") (number_literal "-0x30"))) (; ";")) (expression_statement "pbVar20 = pbVar19;" (assignment_expression "pbVar20 = pbVar19" (identifier "pbVar20") (= "=") (identifier "pbVar19")) (; ";")) (do_statement "do {\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        } while (iVar23 < 0x989681);" (do "do") (compound_statement "{\n          pbVar18 = pbVar20;\n          pbVar20 = pbVar18 + 1;\n          if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }\n          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;\n        }" ({ "{") (expression_statement "pbVar18 = pbVar20;" (assignment_expression "pbVar18 = pbVar20" (identifier "pbVar18") (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "pbVar20 = pbVar18 + 1;" (assignment_expression "pbVar20 = pbVar18 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (9 < (byte)(pbVar18[1] - 0x30)) {\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }" (if "if") (parenthesized_expression "(9 < (byte)(pbVar18[1] - 0x30))" (( "(") (binary_expression "9 < (byte)(pbVar18[1] - 0x30)" (number_literal "9") (< "<") (call_expression "(byte)(pbVar18[1] - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(pbVar18[1] - 0x30)" (( "(") (binary_expression "pbVar18[1] - 0x30" (subscript_expression "pbVar18[1]" (identifier "pbVar18") ([ "[") (number_literal "1") (] "]")) (- "-") (number_literal "0x30")) () ")")))) () ")")) (compound_statement "{\n            if (pbVar20 == pbVar19) goto LAB_000d094c;\n            if (iVar23 == 0) goto LAB_000d0938;\n            local_bc[local_b8 * 6] = iVar23;\n            local_b8 = local_b8 + 1;\n            goto LAB_000cfe51;\n          }" ({ "{") (if_statement "if (pbVar20 == pbVar19) goto LAB_000d094c;" (if "if") (parenthesized_expression "(pbVar20 == pbVar19)" (( "(") (binary_expression "pbVar20 == pbVar19" (identifier "pbVar20") (== "==") (identifier "pbVar19")) () ")")) (goto_statement "goto LAB_000d094c;" (goto "goto") (statement_identifier "LAB_000d094c") (; ";"))) (if_statement "if (iVar23 == 0) goto LAB_000d0938;" (if "if") (parenthesized_expression "(iVar23 == 0)" (( "(") (binary_expression "iVar23 == 0" (identifier "iVar23") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000d0938;" (goto "goto") (statement_identifier "LAB_000d0938") (; ";"))) (expression_statement "local_bc[local_b8 * 6] = iVar23;" (assignment_expression "local_bc[local_b8 * 6] = iVar23" (subscript_expression "local_bc[local_b8 * 6]" (identifier "local_bc") ([ "[") (binary_expression "local_b8 * 6" (identifier "local_b8") (* "*") (number_literal "6")) (] "]")) (= "=") (identifier "iVar23")) (; ";")) (expression_statement "local_b8 = local_b8 + 1;" (assignment_expression "local_b8 = local_b8 + 1" (identifier "local_b8") (= "=") (binary_expression "local_b8 + 1" (identifier "local_b8") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_000cfe51;" (goto "goto") (statement_identifier "LAB_000cfe51") (; ";")) (} "}"))) (expression_statement "iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;" (assignment_expression "iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10" (identifier "iVar23") (= "=") (binary_expression "(char)pbVar18[1] + -0x30 + iVar23 * 10" (binary_expression "(char)pbVar18[1] + -0x30" (cast_expression "(char)pbVar18[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar18[1]" (identifier "pbVar18") ([ "[") (number_literal "1") (] "]"))) (+ "+") (number_literal "-0x30")) (+ "+") (binary_expression "iVar23 * 10" (identifier "iVar23") (* "*") (number_literal "10")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar23 < 0x989681)" (( "(") (binary_expression "iVar23 < 0x989681" (identifier "iVar23") (< "<") (number_literal "0x989681")) () ")")) (; ";")) (if_statement "if (pbVar20 == pbVar19) goto LAB_000d094c;" (if "if") (parenthesized_expression "(pbVar20 == pbVar19)" (( "(") (binary_expression "pbVar20 == pbVar19" (identifier "pbVar20") (== "==") (identifier "pbVar19")) () ")")) (goto_statement "goto LAB_000d094c;" (goto "goto") (statement_identifier "LAB_000d094c") (; ";"))) (labeled_statement "LAB_000d0938:\n        local_b4 = (undefined *)((int)local_b4 - 1);" (statement_identifier "LAB_000d0938") (: ":") (expression_statement "local_b4 = (undefined *)((int)local_b4 - 1);" (assignment_expression "local_b4 = (undefined *)((int)local_b4 - 1)" (identifier "local_b4") (= "=") (cast_expression "(undefined *)((int)local_b4 - 1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_b4 - 1)" (( "(") (binary_expression "(int)local_b4 - 1" (cast_expression "(int)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b4")) (- "-") (number_literal "1")) () ")")))) (; ";"))) (labeled_statement "LAB_000cfe51:\n        pbVar19 = pbVar18 + 2;" (statement_identifier "LAB_000cfe51") (: ":") (expression_statement "pbVar19 = pbVar18 + 2;" (assignment_expression "pbVar19 = pbVar18 + 2" (identifier "pbVar19") (= "=") (binary_expression "pbVar18 + 2" (identifier "pbVar18") (+ "+") (number_literal "2"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(local_b8 < (int)local_b4)" (( "(") (binary_expression "local_b8 < (int)local_b4" (identifier "local_b8") (< "<") (cast_expression "(int)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b4"))) () ")")) (; ";")) (expression_statement "local_80 = (size_t)local_b4;" (assignment_expression "local_80 = (size_t)local_b4" (identifier "local_80") (= "=") (cast_expression "(size_t)local_b4" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (identifier "local_b4"))) (; ";")) (expression_statement "iVar23 = (int)local_b4 * 6;" (assignment_expression "iVar23 = (int)local_b4 * 6" (identifier "iVar23") (= "=") (binary_expression "(int)local_b4 * 6" (cast_expression "(int)local_b4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b4")) (* "*") (number_literal "6"))) (; ";")) (} "}")))) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b4 = (undefined *)local_80;" (assignment_expression "local_b4 = (undefined *)local_80" (identifier "local_b4") (= "=") (cast_expression "(undefined *)local_80" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_80"))) (; ";")) (} "}")))) (labeled_statement "LAB_000cfe77:\n  sVar5 = sVar5 + 1;" (statement_identifier "LAB_000cfe77") (: ":") (expression_statement "sVar5 = sVar5 + 1;" (assignment_expression "sVar5 = sVar5 + 1" (identifier "sVar5") (= "=") (binary_expression "sVar5 + 1" (identifier "sVar5") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "sVar6 = sVar6 + 1;" (assignment_expression "sVar6 = sVar6 + 1" (identifier "sVar6") (= "=") (binary_expression "sVar6 + 1" (identifier "sVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "sVar7 = sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c;" (assignment_expression "sVar7 = sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c" (identifier "sVar7") (= "=") (binary_expression "sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c" (binary_expression "sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4" (binary_expression "sVar6 + sVar5 + iVar21 * 5 + (int)local_d0" (binary_expression "sVar6 + sVar5 + iVar21 * 5" (binary_expression "sVar6 + sVar5" (identifier "sVar6") (+ "+") (identifier "sVar5")) (+ "+") (binary_expression "iVar21 * 5" (identifier "iVar21") (* "*") (number_literal "5"))) (+ "+") (cast_expression "(int)local_d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_d0"))) (+ "+") (binary_expression "iVar23 * 4" (identifier "iVar23") (* "*") (number_literal "4"))) (+ "+") (number_literal "0x11c"))) (; ";")) (expression_statement "local_dc = (void *)FUN_0003f0c0(sVar7,0);" (assignment_expression "local_dc = (void *)FUN_0003f0c0(sVar7,0)" (identifier "local_dc") (= "=") (cast_expression "(void *)FUN_0003f0c0(sVar7,0)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003f0c0(sVar7,0)" (identifier "FUN_0003f0c0") (argument_list "(sVar7,0)" (( "(") (identifier "sVar7") (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (local_dc == (void *)0x0) {\n    local_6c = 7;\n    goto LAB_000cfaef;\n  }" (if "if") (parenthesized_expression "(local_dc == (void *)0x0)" (( "(") (binary_expression "local_dc == (void *)0x0" (identifier "local_dc") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_6c = 7;\n    goto LAB_000cfaef;\n  }" ({ "{") (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" (identifier "local_6c") (= "=") (number_literal "7")) (; ";")) (goto_statement "goto LAB_000cfaef;" (goto "goto") (statement_identifier "LAB_000cfaef") (; ";")) (} "}"))) (expression_statement "bVar28 = cVar1 == '4';" (assignment_expression "bVar28 = cVar1 == '4'" (identifier "bVar28") (= "=") (binary_expression "cVar1 == '4'" (identifier "cVar1") (== "==") (char_literal "'4'" (' "'") (character "4") (' "'")))) (; ";")) (expression_statement "memset(local_dc,0,sVar7);" (call_expression "memset(local_dc,0,sVar7)" (identifier "memset") (argument_list "(local_dc,0,sVar7)" (( "(") (identifier "local_dc") (, ",") (number_literal "0") (, ",") (identifier "sVar7") () ")"))) (; ";")) (expression_statement "*(int *)((int)local_dc + 0x18) = iVar21;" (assignment_expression "*(int *)((int)local_dc + 0x18) = iVar21" (pointer_expression "*(int *)((int)local_dc + 0x18)" (* "*") (cast_expression "(int *)((int)local_dc + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x18)" (( "(") (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "iVar21")) (; ";")) (expression_statement "*(undefined4 *)((int)local_dc + 0x30) = 0xff;" (assignment_expression "*(undefined4 *)((int)local_dc + 0x30) = 0xff" (pointer_expression "*(undefined4 *)((int)local_dc + 0x30)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x30)" (( "(") (binary_expression "(int)local_dc + 0x30" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x30")) () ")")))) (= "=") (number_literal "0xff")) (; ";")) (expression_statement "*(int **)((int)local_dc + 0x24) = local_68;" (assignment_expression "*(int **)((int)local_dc + 0x24) = local_68" (pointer_expression "*(int **)((int)local_dc + 0x24)" (* "*") (cast_expression "(int **)((int)local_dc + 0x24)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_dc + 0x24)" (( "(") (binary_expression "(int)local_dc + 0x24" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "local_68")) (; ";")) (expression_statement "*(undefined4 *)((int)local_dc + 0xc) = param_2;" (assignment_expression "*(undefined4 *)((int)local_dc + 0xc) = param_2" (pointer_expression "*(undefined4 *)((int)local_dc + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xc)" (( "(") (binary_expression "(int)local_dc + 0xc" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(int *)((int)local_dc + 0x1c) = (int)local_dc + 0x11c;" (assignment_expression "*(int *)((int)local_dc + 0x1c) = (int)local_dc + 0x11c" (pointer_expression "*(int *)((int)local_dc + 0x1c)" (* "*") (cast_expression "(int *)((int)local_dc + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x1c)" (( "(") (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (binary_expression "(int)local_dc + 0x11c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x11c"))) (; ";")) (expression_statement "*(bool *)((int)local_dc + 0xe9) = bVar28;" (assignment_expression "*(bool *)((int)local_dc + 0xe9) = bVar28" (pointer_expression "*(bool *)((int)local_dc + 0xe9)" (* "*") (cast_expression "(bool *)((int)local_dc + 0xe9)" (( "(") (type_descriptor "bool *" (primitive_type "bool") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xe9)" (( "(") (binary_expression "(int)local_dc + 0xe9" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xe9")) () ")")))) (= "=") (identifier "bVar28")) (; ";")) (expression_statement "*(bool *)((int)local_dc + 0xe8) = bVar28;" (assignment_expression "*(bool *)((int)local_dc + 0xe8) = bVar28" (pointer_expression "*(bool *)((int)local_dc + 0xe8)" (* "*") (cast_expression "(bool *)((int)local_dc + 0xe8)" (( "(") (type_descriptor "bool *" (primitive_type "bool") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xe8)" (( "(") (binary_expression "(int)local_dc + 0xe8" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xe8")) () ")")))) (= "=") (identifier "bVar28")) (; ";")) (expression_statement "*(byte *)((int)local_dc + 0xea) = (bVar3 ^ 1) & bVar28;" (assignment_expression "*(byte *)((int)local_dc + 0xea) = (bVar3 ^ 1) & bVar28" (pointer_expression "*(byte *)((int)local_dc + 0xea)" (* "*") (cast_expression "(byte *)((int)local_dc + 0xea)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xea)" (( "(") (binary_expression "(int)local_dc + 0xea" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xea")) () ")")))) (= "=") (binary_expression "(bVar3 ^ 1) & bVar28" (parenthesized_expression "(bVar3 ^ 1)" (( "(") (binary_expression "bVar3 ^ 1" (identifier "bVar3") (^ "^") (number_literal "1")) () ")")) (& "&") (identifier "bVar28"))) (; ";")) (expression_statement "*(bool *)((int)local_dc + 0xeb) = bVar29;" (assignment_expression "*(bool *)((int)local_dc + 0xeb) = bVar29" (pointer_expression "*(bool *)((int)local_dc + 0xeb)" (* "*") (cast_expression "(bool *)((int)local_dc + 0xeb)" (( "(") (type_descriptor "bool *" (primitive_type "bool") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xeb)" (( "(") (binary_expression "(int)local_dc + 0xeb" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xeb")) () ")")))) (= "=") (identifier "bVar29")) (; ";")) (expression_statement "*(undefined4 *)((int)local_dc + 0x108) = 0;" (assignment_expression "*(undefined4 *)((int)local_dc + 0x108) = 0" (pointer_expression "*(undefined4 *)((int)local_dc + 0x108)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0x108)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x108)" (( "(") (binary_expression "(int)local_dc + 0x108" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x108")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)local_dc + 0x104) = 0x100000;" (assignment_expression "*(undefined4 *)((int)local_dc + 0x104) = 0x100000" (pointer_expression "*(undefined4 *)((int)local_dc + 0x104)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0x104)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x104)" (( "(") (binary_expression "(int)local_dc + 0x104" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x104")) () ")")))) (= "=") (number_literal "0x100000")) (; ";")) (expression_statement "*(byte **)((int)local_dc + 0x28) = local_ac;" (assignment_expression "*(byte **)((int)local_dc + 0x28) = local_ac" (pointer_expression "*(byte **)((int)local_dc + 0x28)" (* "*") (cast_expression "(byte **)((int)local_dc + 0x28)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_dc + 0x28)" (( "(") (binary_expression "(int)local_dc + 0x28" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "local_ac")) (; ";")) (expression_statement "*(byte **)((int)local_dc + 0x2c) = local_9c;" (assignment_expression "*(byte **)((int)local_dc + 0x2c) = local_9c" (pointer_expression "*(byte **)((int)local_dc + 0x2c)" (* "*") (cast_expression "(byte **)((int)local_dc + 0x2c)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_dc + 0x2c)" (( "(") (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "local_9c")) (; ";")) (expression_statement "pvVar10 = (void *)((int)local_dc + 0x11c + iVar21 * 4);" (assignment_expression "pvVar10 = (void *)((int)local_dc + 0x11c + iVar21 * 4)" (identifier "pvVar10") (= "=") (cast_expression "(void *)((int)local_dc + 0x11c + iVar21 * 4)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x11c + iVar21 * 4)" (( "(") (binary_expression "(int)local_dc + 0x11c + iVar21 * 4" (binary_expression "(int)local_dc + 0x11c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x11c")) (+ "+") (binary_expression "iVar21 * 4" (identifier "iVar21") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "*(void **)((int)local_dc + 0x100) = pvVar10;" (assignment_expression "*(void **)((int)local_dc + 0x100) = pvVar10" (pointer_expression "*(void **)((int)local_dc + 0x100)" (* "*") (cast_expression "(void **)((int)local_dc + 0x100)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_dc + 0x100)" (( "(") (binary_expression "(int)local_dc + 0x100" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x100")) () ")")))) (= "=") (identifier "pvVar10")) (; ";")) (expression_statement "memcpy(pvVar10,local_bc,local_80 * 0x18);" (call_expression "memcpy(pvVar10,local_bc,local_80 * 0x18)" (identifier "memcpy") (argument_list "(pvVar10,local_bc,local_80 * 0x18)" (( "(") (identifier "pvVar10") (, ",") (identifier "local_bc") (, ",") (binary_expression "local_80 * 0x18" (identifier "local_80") (* "*") (number_literal "0x18")) () ")"))) (; ";")) (expression_statement "sVar7 = 0;" (assignment_expression "sVar7 = 0" (identifier "sVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined **)((int)local_dc + 0xfc) = local_b4;" (assignment_expression "*(undefined **)((int)local_dc + 0xfc) = local_b4" (pointer_expression "*(undefined **)((int)local_dc + 0xfc)" (* "*") (cast_expression "(undefined **)((int)local_dc + 0xfc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_dc + 0xfc)" (( "(") (binary_expression "(int)local_dc + 0xfc" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xfc")) () ")")))) (= "=") (identifier "local_b4")) (; ";")) (if_statement "if (local_b4 != (undefined *)0x0) {\n    do {\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    } while (local_b4 != (undefined *)sVar11);\n  }" (if "if") (parenthesized_expression "(local_b4 != (undefined *)0x0)" (( "(") (binary_expression "local_b4 != (undefined *)0x0" (identifier "local_b4") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    do {\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    } while (local_b4 != (undefined *)sVar11);\n  }" ({ "{") (do_statement "do {\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    } while (local_b4 != (undefined *)sVar11);" (do "do") (compound_statement "{\n      sVar11 = sVar7 + 1;\n      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;\n      *(undefined2 *)(iVar23 + 4) = 0x101;\n      *(undefined4 *)(iVar23 + 0xc) = 0;\n      *(undefined4 *)(iVar23 + 8) = 0;\n      *(undefined4 *)(iVar23 + 0x10) = 0;\n      *(undefined4 *)(iVar23 + 0x14) = 0;\n      sVar7 = sVar11;\n    }" ({ "{") (expression_statement "sVar11 = sVar7 + 1;" (assignment_expression "sVar11 = sVar7 + 1" (identifier "sVar11") (= "=") (binary_expression "sVar7 + 1" (identifier "sVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;" (assignment_expression "iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18" (identifier "iVar23") (= "=") (binary_expression "*(int *)((int)local_dc + 0x100) + sVar7 * 0x18" (pointer_expression "*(int *)((int)local_dc + 0x100)" (* "*") (cast_expression "(int *)((int)local_dc + 0x100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x100)" (( "(") (binary_expression "(int)local_dc + 0x100" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x100")) () ")")))) (+ "+") (binary_expression "sVar7 * 0x18" (identifier "sVar7") (* "*") (number_literal "0x18")))) (; ";")) (expression_statement "*(undefined2 *)(iVar23 + 4) = 0x101;" (assignment_expression "*(undefined2 *)(iVar23 + 4) = 0x101" (pointer_expression "*(undefined2 *)(iVar23 + 4)" (* "*") (cast_expression "(undefined2 *)(iVar23 + 4)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 4)" (( "(") (binary_expression "iVar23 + 4" (identifier "iVar23") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0x101")) (; ";")) (expression_statement "*(undefined4 *)(iVar23 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(iVar23 + 0xc) = 0" (pointer_expression "*(undefined4 *)(iVar23 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar23 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0xc)" (( "(") (binary_expression "iVar23 + 0xc" (identifier "iVar23") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(iVar23 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar23 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar23 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar23 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 8)" (( "(") (binary_expression "iVar23 + 8" (identifier "iVar23") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(iVar23 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar23 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar23 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar23 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x10)" (( "(") (binary_expression "iVar23 + 0x10" (identifier "iVar23") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(iVar23 + 0x14) = 0;" (assignment_expression "*(undefined4 *)(iVar23 + 0x14) = 0" (pointer_expression "*(undefined4 *)(iVar23 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar23 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x14)" (( "(") (binary_expression "iVar23 + 0x14" (identifier "iVar23") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "sVar7 = sVar11;" (assignment_expression "sVar7 = sVar11" (identifier "sVar7") (= "=") (identifier "sVar11")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_b4 != (undefined *)sVar11)" (( "(") (binary_expression "local_b4 != (undefined *)sVar11" (identifier "local_b4") (!= "!=") (cast_expression "(undefined *)sVar11" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "sVar11"))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar23 = local_80 * 0x18 + *(int *)((int)local_dc + 0x100);" (assignment_expression "iVar23 = local_80 * 0x18 + *(int *)((int)local_dc + 0x100)" (identifier "iVar23") (= "=") (binary_expression "local_80 * 0x18 + *(int *)((int)local_dc + 0x100)" (binary_expression "local_80 * 0x18" (identifier "local_80") (* "*") (number_literal "0x18")) (+ "+") (pointer_expression "*(int *)((int)local_dc + 0x100)" (* "*") (cast_expression "(int *)((int)local_dc + 0x100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x100)" (( "(") (binary_expression "(int)local_dc + 0x100" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x100")) () ")")))))) (; ";")) (expression_statement "*(int *)((int)local_dc + 0x20) = iVar23;" (assignment_expression "*(int *)((int)local_dc + 0x20) = iVar23" (pointer_expression "*(int *)((int)local_dc + 0x20)" (* "*") (cast_expression "(int *)((int)local_dc + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x20)" (( "(") (binary_expression "(int)local_dc + 0x20" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "iVar23")) (; ";")) (expression_statement "pvVar10 = (void *)(iVar23 + iVar21);" (assignment_expression "pvVar10 = (void *)(iVar23 + iVar21)" (identifier "pvVar10") (= "=") (cast_expression "(void *)(iVar23 + iVar21)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + iVar21)" (( "(") (binary_expression "iVar23 + iVar21" (identifier "iVar23") (+ "+") (identifier "iVar21")) () ")")))) (; ";")) (expression_statement "*(void **)((int)local_dc + 0x14) = pvVar10;" (assignment_expression "*(void **)((int)local_dc + 0x14) = pvVar10" (pointer_expression "*(void **)((int)local_dc + 0x14)" (* "*") (cast_expression "(void **)((int)local_dc + 0x14)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_dc + 0x14)" (( "(") (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "pvVar10")) (; ";")) (expression_statement "pvVar24 = (void *)((int)pvVar10 + sVar6);" (assignment_expression "pvVar24 = (void *)((int)pvVar10 + sVar6)" (identifier "pvVar24") (= "=") (cast_expression "(void *)((int)pvVar10 + sVar6)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar10 + sVar6)" (( "(") (binary_expression "(int)pvVar10 + sVar6" (cast_expression "(int)pvVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar10")) (+ "+") (identifier "sVar6")) () ")")))) (; ";")) (expression_statement "memcpy(pvVar10,(void *)param_4[2],sVar6);" (call_expression "memcpy(pvVar10,(void *)param_4[2],sVar6)" (identifier "memcpy") (argument_list "(pvVar10,(void *)param_4[2],sVar6)" (( "(") (identifier "pvVar10") (, ",") (cast_expression "(void *)param_4[2]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]"))) (, ",") (identifier "sVar6") () ")"))) (; ";")) (expression_statement "*(void **)((int)local_dc + 0x10) = pvVar24;" (assignment_expression "*(void **)((int)local_dc + 0x10) = pvVar24" (pointer_expression "*(void **)((int)local_dc + 0x10)" (* "*") (cast_expression "(void **)((int)local_dc + 0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_dc + 0x10)" (( "(") (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "pvVar24")) (; ";")) (expression_statement "pvVar10 = (void *)((int)pvVar24 + sVar5);" (assignment_expression "pvVar10 = (void *)((int)pvVar24 + sVar5)" (identifier "pvVar10") (= "=") (cast_expression "(void *)((int)pvVar24 + sVar5)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar24 + sVar5)" (( "(") (binary_expression "(int)pvVar24 + sVar5" (cast_expression "(int)pvVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar24")) (+ "+") (identifier "sVar5")) () ")")))) (; ";")) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" (identifier "iVar23") (= "=") (number_literal "0")) (; ";")) (expression_statement "memcpy(pvVar24,(void *)param_4[1],sVar5);" (call_expression "memcpy(pvVar24,(void *)param_4[1],sVar5)" (identifier "memcpy") (argument_list "(pvVar24,(void *)param_4[1],sVar5)" (( "(") (identifier "pvVar24") (, ",") (cast_expression "(void *)param_4[1]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))) (, ",") (identifier "sVar5") () ")"))) (; ";")) (if_statement "if (0 < iVar21) {\n    do {\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    } while (iVar21 * 4 != iVar23);\n    local_c8 = (undefined *)0x0;\n    do {\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    } while (local_c8 != (undefined *)iVar21);\n  }" (if "if") (parenthesized_expression "(0 < iVar21)" (( "(") (binary_expression "0 < iVar21" (number_literal "0") (< "<") (identifier "iVar21")) () ")")) (compound_statement "{\n    do {\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    } while (iVar21 * 4 != iVar23);\n    local_c8 = (undefined *)0x0;\n    do {\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    } while (local_c8 != (undefined *)iVar21);\n  }" ({ "{") (do_statement "do {\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    } while (iVar21 * 4 != iVar23);" (do "do") (compound_statement "{\n      local_64 = 0;\n      pvVar24 = (void *)FUN_0001ea80();\n      if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }\n      *(undefined1 *)((int)pvVar10 + local_64) = 0;\n      FUN_0001d8b0();\n      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;\n      iVar23 = iVar23 + 4;\n      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);\n    }" ({ "{") (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" (identifier "local_64") (= "=") (number_literal "0")) (; ";")) (expression_statement "pvVar24 = (void *)FUN_0001ea80();" (assignment_expression "pvVar24 = (void *)FUN_0001ea80()" (identifier "pvVar24") (= "=") (cast_expression "(void *)FUN_0001ea80()" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001ea80()" (identifier "FUN_0001ea80") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (0 < (int)local_64) {\n        memcpy(pvVar10,pvVar24,local_64);\n      }" (if "if") (parenthesized_expression "(0 < (int)local_64)" (( "(") (binary_expression "0 < (int)local_64" (number_literal "0") (< "<") (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64"))) () ")")) (compound_statement "{\n        memcpy(pvVar10,pvVar24,local_64);\n      }" ({ "{") (expression_statement "memcpy(pvVar10,pvVar24,local_64);" (call_expression "memcpy(pvVar10,pvVar24,local_64)" (identifier "memcpy") (argument_list "(pvVar10,pvVar24,local_64)" (( "(") (identifier "pvVar10") (, ",") (identifier "pvVar24") (, ",") (identifier "local_64") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)((int)pvVar10 + local_64) = 0;" (assignment_expression "*(undefined1 *)((int)pvVar10 + local_64) = 0" (pointer_expression "*(undefined1 *)((int)pvVar10 + local_64)" (* "*") (cast_expression "(undefined1 *)((int)pvVar10 + local_64)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar10 + local_64)" (( "(") (binary_expression "(int)pvVar10 + local_64" (cast_expression "(int)pvVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar10")) (+ "+") (identifier "local_64")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0001d8b0();" (call_expression "FUN_0001d8b0()" (identifier "FUN_0001d8b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;" (assignment_expression "*(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10" (pointer_expression "*(void **)(*(int *)((int)local_dc + 0x1c) + iVar23)" (* "*") (cast_expression "(void **)(*(int *)((int)local_dc + 0x1c) + iVar23)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + iVar23)" (( "(") (binary_expression "*(int *)((int)local_dc + 0x1c) + iVar23" (pointer_expression "*(int *)((int)local_dc + 0x1c)" (* "*") (cast_expression "(int *)((int)local_dc + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x1c)" (( "(") (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (identifier "iVar23")) () ")")))) (= "=") (identifier "pvVar10")) (; ";")) (expression_statement "iVar23 = iVar23 + 4;" (assignment_expression "iVar23 = iVar23 + 4" (identifier "iVar23") (= "=") (binary_expression "iVar23 + 4" (identifier "iVar23") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "pvVar10 = (void *)((int)pvVar10 + local_64 + 1);" (assignment_expression "pvVar10 = (void *)((int)pvVar10 + local_64 + 1)" (identifier "pvVar10") (= "=") (cast_expression "(void *)((int)pvVar10 + local_64 + 1)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar10 + local_64 + 1)" (( "(") (binary_expression "(int)pvVar10 + local_64 + 1" (binary_expression "(int)pvVar10 + local_64" (cast_expression "(int)pvVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar10")) (+ "+") (identifier "local_64")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar21 * 4 != iVar23)" (( "(") (binary_expression "iVar21 * 4 != iVar23" (binary_expression "iVar21 * 4" (identifier "iVar21") (* "*") (number_literal "4")) (!= "!=") (identifier "iVar23")) () ")")) (; ";")) (expression_statement "local_c8 = (undefined *)0x0;" (assignment_expression "local_c8 = (undefined *)0x0" (identifier "local_c8") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    } while (local_c8 != (undefined *)iVar21);" (do "do") (compound_statement "{\n      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));\n      piVar22 = local_c0;\n      if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }\nLAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);\n    }" ({ "{") (expression_statement "sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));" (assignment_expression "sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4))" (identifier "sVar7") (= "=") (call_expression "strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4))" (identifier "strlen") (argument_list "(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4))" (( "(") (pointer_expression "*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" (* "*") (cast_expression "(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" (( "(") (binary_expression "*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4" (pointer_expression "*(int *)((int)local_dc + 0x1c)" (* "*") (cast_expression "(int *)((int)local_dc + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x1c)" (( "(") (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (binary_expression "(int)local_c8 * 4" (cast_expression "(int)local_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c8")) (* "*") (number_literal "4"))) () ")")))) () ")")))) (; ";")) (expression_statement "piVar22 = local_c0;" (assignment_expression "piVar22 = local_c0" (identifier "piVar22") (= "=") (identifier "local_c0")) (; ";")) (if_statement "if (local_b0 != 0) {\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }" (if "if") (parenthesized_expression "(local_b0 != 0)" (( "(") (binary_expression "local_b0 != 0" (identifier "local_b0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);\n      }" ({ "{") (do_statement "do {\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        } while (local_c0 + local_b0 != piVar22);" (do "do") (compound_statement "{\n          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }\n          piVar22 = piVar22 + 1;\n        }" ({ "{") (while_statement "while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))) {\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }" (while "while") (parenthesized_expression "(((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0)))" (( "(") (parenthesized_expression "((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0))" (( "(") (binary_expression "(pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&\n                 (iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0)" (parenthesized_expression "(pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5))" (( "(") (comma_expression "pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)" (assignment_expression "pcVar13 = (char *)*piVar22" (identifier "pcVar13") (= "=") (cast_expression "(char *)*piVar22" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar22" (* "*") (identifier "piVar22")))) (, ",") (binary_expression "pcVar13 != (char *)0x0 &&\n                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)" (binary_expression "pcVar13 != (char *)0x0" (identifier "pcVar13") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (parenthesized_expression "(sVar5 = strlen(pcVar13), sVar7 == sVar5)" (( "(") (comma_expression "sVar5 = strlen(pcVar13), sVar7 == sVar5" (assignment_expression "sVar5 = strlen(pcVar13)" (identifier "sVar5") (= "=") (call_expression "strlen(pcVar13)" (identifier "strlen") (argument_list "(pcVar13)" (( "(") (identifier "pcVar13") () ")")))) (, ",") (binary_expression "sVar7 == sVar5" (identifier "sVar7") (== "==") (identifier "sVar5"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0)" (( "(") (comma_expression "iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7), iVar23 == 0" (assignment_expression "iVar23 = FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7)" (identifier "iVar23") (= "=") (call_expression "FUN_00028130(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7)" (identifier "FUN_00028130") (argument_list "(*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),\n                                        pcVar13,sVar7)" (( "(") (pointer_expression "*(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" (* "*") (cast_expression "(undefined4 *)\n                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4)" (( "(") (binary_expression "*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4" (pointer_expression "*(int *)((int)local_dc + 0x1c)" (* "*") (cast_expression "(int *)((int)local_dc + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x1c)" (( "(") (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (binary_expression "(int)local_c8 * 4" (cast_expression "(int)local_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c8")) (* "*") (number_literal "4"))) () ")")))) (, ",") (identifier "pcVar13") (, ",") (identifier "sVar7") () ")")))) (, ",") (binary_expression "iVar23 == 0" (identifier "iVar23") (== "==") (number_literal "0"))) () ")"))) () ")")) () ")")) (compound_statement "{\n            piVar25 = piVar22 + 1;\n            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;\n            FUN_00024cc0(pcVar13);\n            *piVar22 = 0;\n            piVar22 = piVar25;\n            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;\n          }" ({ "{") (expression_statement "piVar25 = piVar22 + 1;" (assignment_expression "piVar25 = piVar22 + 1" (identifier "piVar25") (= "=") (binary_expression "piVar22 + 1" (identifier "piVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;" (assignment_expression "*(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1" (pointer_expression "*(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8)" (* "*") (cast_expression "(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)local_dc + 0x20) + (int)local_c8)" (( "(") (binary_expression "*(int *)((int)local_dc + 0x20) + (int)local_c8" (pointer_expression "*(int *)((int)local_dc + 0x20)" (* "*") (cast_expression "(int *)((int)local_dc + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x20)" (( "(") (binary_expression "(int)local_dc + 0x20" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (cast_expression "(int)local_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c8"))) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00024cc0(pcVar13);" (call_expression "FUN_00024cc0(pcVar13)" (identifier "FUN_00024cc0") (argument_list "(pcVar13)" (( "(") (identifier "pcVar13") () ")"))) (; ";")) (expression_statement "*piVar22 = 0;" (assignment_expression "*piVar22 = 0" (pointer_expression "*piVar22" (* "*") (identifier "piVar22")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar22 = piVar25;" (assignment_expression "piVar22 = piVar25" (identifier "piVar22") (= "=") (identifier "piVar25")) (; ";")) (if_statement "if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;" (if "if") (parenthesized_expression "(local_c0 + local_b0 == piVar25)" (( "(") (binary_expression "local_c0 + local_b0 == piVar25" (binary_expression "local_c0 + local_b0" (identifier "local_c0") (+ "+") (identifier "local_b0")) (== "==") (identifier "piVar25")) () ")")) (goto_statement "goto LAB_000d0168;" (goto "goto") (statement_identifier "LAB_000d0168") (; ";"))) (} "}"))) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" (identifier "piVar22") (= "=") (binary_expression "piVar22 + 1" (identifier "piVar22") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_c0 + local_b0 != piVar22)" (( "(") (binary_expression "local_c0 + local_b0 != piVar22" (binary_expression "local_c0 + local_b0" (identifier "local_c0") (+ "+") (identifier "local_b0")) (!= "!=") (identifier "piVar22")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_000d0168:\n      local_c8 = (undefined *)((int)local_c8 + 1);" (statement_identifier "LAB_000d0168") (: ":") (expression_statement "local_c8 = (undefined *)((int)local_c8 + 1);" (assignment_expression "local_c8 = (undefined *)((int)local_c8 + 1)" (identifier "local_c8") (= "=") (cast_expression "(undefined *)((int)local_c8 + 1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_c8 + 1)" (( "(") (binary_expression "(int)local_c8 + 1" (cast_expression "(int)local_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c8")) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(local_c8 != (undefined *)iVar21)" (( "(") (binary_expression "local_c8 != (undefined *)iVar21" (identifier "local_c8") (!= "!=") (cast_expression "(undefined *)iVar21" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iVar21"))) () ")")) (; ";")) (} "}"))) (expression_statement "piVar22 = local_c0;" (assignment_expression "piVar22 = local_c0" (identifier "piVar22") (= "=") (identifier "local_c0")) (; ";")) (if_statement "if (local_b0 != 0) {\n    do {\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    } while (local_c0 + local_b0 != piVar22);\n  }" (if "if") (parenthesized_expression "(local_b0 != 0)" (( "(") (binary_expression "local_b0 != 0" (identifier "local_b0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    do {\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    } while (local_c0 + local_b0 != piVar22);\n  }" ({ "{") (do_statement "do {\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    } while (local_c0 + local_b0 != piVar22);" (do "do") (compound_statement "{\n      if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }\n      piVar22 = piVar22 + 1;\n    }" ({ "{") (if_statement "if (*piVar22 != 0) {\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }" (if "if") (parenthesized_expression "(*piVar22 != 0)" (( "(") (binary_expression "*piVar22 != 0" (pointer_expression "*piVar22" (* "*") (identifier "piVar22")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_00071050(param_6,"no such column: %s",*piVar22);\n        local_6c = 1;\n      }" ({ "{") (expression_statement "FUN_00071050(param_6,"no such column: %s",*piVar22);" (call_expression "FUN_00071050(param_6,"no such column: %s",*piVar22)" (identifier "FUN_00071050") (argument_list "(param_6,"no such column: %s",*piVar22)" (( "(") (identifier "param_6") (, ",") (string_literal ""no such column: %s"" (" """) (string_content "no such column: %s") (" """)) (, ",") (pointer_expression "*piVar22" (* "*") (identifier "piVar22")) () ")"))) (; ";")) (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" (identifier "local_6c") (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" (identifier "piVar22") (= "=") (binary_expression "piVar22 + 1" (identifier "piVar22") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_c0 + local_b0 != piVar22)" (( "(") (binary_expression "local_c0 + local_b0 != piVar22" (binary_expression "local_c0 + local_b0" (identifier "local_c0") (+ "+") (identifier "local_b0")) (!= "!=") (identifier "piVar22")) () ")")) (; ";")) (} "}"))) (if_statement "if ((local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {\n    local_6c = 1;\n    pcVar13 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar13 = "compress";\n    }\n    FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);\n  }" (if "if") (parenthesized_expression "((local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0)))" (( "(") (binary_expression "(local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))" (parenthesized_expression "(local_6c == 0)" (( "(") (binary_expression "local_6c == 0" (identifier "local_6c") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))" (( "(") (binary_expression "(local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0)" (parenthesized_expression "(local_a4 == (byte *)0x0)" (( "(") (binary_expression "local_a4 == (byte *)0x0" (identifier "local_a4") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (!= "!=") (parenthesized_expression "(local_a0 == (byte *)0x0)" (( "(") (binary_expression "local_a0 == (byte *)0x0" (identifier "local_a0") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")"))) () ")")) (compound_statement "{\n    local_6c = 1;\n    pcVar13 = "uncompress";\n    if (local_a4 == (byte *)0x0) {\n      pcVar13 = "compress";\n    }\n    FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);\n  }" ({ "{") (expression_statement "local_6c = 1;" (assignment_expression "local_6c = 1" (identifier "local_6c") (= "=") (number_literal "1")) (; ";")) (expression_statement "pcVar13 = "uncompress";" (assignment_expression "pcVar13 = "uncompress"" (identifier "pcVar13") (= "=") (string_literal ""uncompress"" (" """) (string_content "uncompress") (" """))) (; ";")) (if_statement "if (local_a4 == (byte *)0x0) {\n      pcVar13 = "compress";\n    }" (if "if") (parenthesized_expression "(local_a4 == (byte *)0x0)" (( "(") (binary_expression "local_a4 == (byte *)0x0" (identifier "local_a4") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pcVar13 = "compress";\n    }" ({ "{") (expression_statement "pcVar13 = "compress";" (assignment_expression "pcVar13 = "compress"" (identifier "pcVar13") (= "=") (string_literal ""compress"" (" """) (string_content "compress") (" """))) (; ";")) (} "}"))) (expression_statement "FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);" (call_expression "FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13)" (identifier "FUN_00071050") (argument_list "(param_6,"missing %s parameter in fts4 constructor",pcVar13)" (( "(") (identifier "param_6") (, ",") (string_literal ""missing %s parameter in fts4 constructor"" (" """) (string_content "missing %s parameter in fts4 constructor") (" """)) (, ",") (identifier "pcVar13") () ")"))) (; ";")) (} "}"))) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" (identifier "local_64") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(int *)((int)local_dc + 0x28) == 0) {\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }\n    else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }\n    iVar21 = 0;\n    FUN_00076c30(&local_6c,&local_64,"docid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }\n    FUN_00024cc0(local_b4);\n  }\n  else {\n    FUN_00076c30(&local_6c,&local_64,"rowid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)((int)local_dc + 0x28) == 0)" (( "(") (binary_expression "*(int *)((int)local_dc + 0x28) == 0" (pointer_expression "*(int *)((int)local_dc + 0x28)" (* "*") (cast_expression "(int *)((int)local_dc + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x28)" (( "(") (binary_expression "(int)local_dc + 0x28" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (local_a0 == (byte *)0x0) {\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }\n    else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }\n    iVar21 = 0;\n    FUN_00076c30(&local_6c,&local_64,"docid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }\n    FUN_00024cc0(local_b4);\n  }" ({ "{") (if_statement "if (local_a0 == (byte *)0x0) {\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }\n    else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }" (if "if") (parenthesized_expression "(local_a0 == (byte *)0x0)" (( "(") (binary_expression "local_a0 == (byte *)0x0" (identifier "local_a0") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      local_d0 = &DAT_000f50ff;\n      local_b4 = (undefined *)0x0;\n    }" ({ "{") (expression_statement "local_d0 = &DAT_000f50ff;" (assignment_expression "local_d0 = &DAT_000f50ff" (identifier "local_d0") (= "=") (pointer_expression "&DAT_000f50ff" (& "&") (identifier "DAT_000f50ff"))) (; ";")) (expression_statement "local_b4 = (undefined *)0x0;" (assignment_expression "local_b4 = (undefined *)0x0" (identifier "local_b4") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }" (else "else") (compound_statement "{\n      local_d0 = (undefined *)FUN_00041e40();\n      local_b4 = local_d0;\n    }" ({ "{") (expression_statement "local_d0 = (undefined *)FUN_00041e40();" (assignment_expression "local_d0 = (undefined *)FUN_00041e40()" (identifier "local_d0") (= "=") (cast_expression "(undefined *)FUN_00041e40()" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00041e40()" (identifier "FUN_00041e40") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_b4 = local_d0;" (assignment_expression "local_b4 = local_d0" (identifier "local_b4") (= "=") (identifier "local_d0")) (; ";")) (} "}")))) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" (identifier "iVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00076c30(&local_6c,&local_64,"docid");" (call_expression "FUN_00076c30(&local_6c,&local_64,"docid")" (identifier "FUN_00076c30") (argument_list "(&local_6c,&local_64,"docid")" (( "(") (pointer_expression "&local_6c" (& "&") (identifier "local_6c")) (, ",") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (string_literal ""docid"" (" """) (string_content "docid") (" """)) () ")"))) (; ";")) (if_statement "if (0 < *(int *)((int)local_dc + 0x18)) {\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }" (if "if") (parenthesized_expression "(0 < *(int *)((int)local_dc + 0x18))" (( "(") (binary_expression "0 < *(int *)((int)local_dc + 0x18)" (number_literal "0") (< "<") (pointer_expression "*(int *)((int)local_dc + 0x18)" (* "*") (cast_expression "(int *)((int)local_dc + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x18)" (( "(") (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n      do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));\n    }" ({ "{") (do_statement "do {\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      } while (iVar23 < *(int *)((int)local_dc + 0x18));" (do "do") (compound_statement "{\n        iVar23 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));\n        iVar21 = iVar23;\n      }" ({ "{") (expression_statement "iVar23 = iVar21 + 1;" (assignment_expression "iVar23 = iVar21 + 1" (identifier "iVar23") (= "=") (binary_expression "iVar21 + 1" (identifier "iVar21") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));" (call_expression "FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4))" (identifier "FUN_00076c30") (argument_list "(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4))" (( "(") (pointer_expression "&local_6c" (& "&") (identifier "local_6c")) (, ",") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (string_literal "",%s(x.\'c%d%q\')"" (" """) (string_content ",%s(x.") (escape_sequence "\'") (string_content "c%d%q") (escape_sequence "\'") (string_content ")") (" """)) (, ",") (identifier "local_d0") (, ",") (identifier "iVar21") (, ",") (pointer_expression "*(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + iVar21 * 4)" (( "(") (binary_expression "*(int *)((int)local_dc + 0x1c) + iVar21 * 4" (pointer_expression "*(int *)((int)local_dc + 0x1c)" (* "*") (cast_expression "(int *)((int)local_dc + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x1c)" (( "(") (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (binary_expression "iVar21 * 4" (identifier "iVar21") (* "*") (number_literal "4"))) () ")")))) () ")"))) (; ";")) (expression_statement "iVar21 = iVar23;" (assignment_expression "iVar21 = iVar23" (identifier "iVar21") (= "=") (identifier "iVar23")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar23 < *(int *)((int)local_dc + 0x18))" (( "(") (binary_expression "iVar23 < *(int *)((int)local_dc + 0x18)" (identifier "iVar23") (< "<") (pointer_expression "*(int *)((int)local_dc + 0x18)" (* "*") (cast_expression "(int *)((int)local_dc + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x18)" (( "(") (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (; ";")) (} "}"))) (if_statement "if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }" (if "if") (parenthesized_expression "(*(int *)((int)local_dc + 0x2c) != 0)" (( "(") (binary_expression "*(int *)((int)local_dc + 0x2c) != 0" (pointer_expression "*(int *)((int)local_dc + 0x2c)" (* "*") (cast_expression "(int *)((int)local_dc + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x2c)" (( "(") (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x2c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");\n    }" ({ "{") (expression_statement "FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");" (call_expression "FUN_00076c30(&local_6c,&local_64,", x.%Q","langid")" (identifier "FUN_00076c30") (argument_list "(&local_6c,&local_64,", x.%Q","langid")" (( "(") (pointer_expression "&local_6c" (& "&") (identifier "local_6c")) (, ",") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (string_literal "", x.%Q"" (" """) (string_content ", x.%Q") (" """)) (, ",") (string_literal ""langid"" (" """) (string_content "langid") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00024cc0(local_b4);" (call_expression "FUN_00024cc0(local_b4)" (identifier "FUN_00024cc0") (argument_list "(local_b4)" (( "(") (identifier "local_b4") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    FUN_00076c30(&local_6c,&local_64,"rowid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }\n  }" (else "else") (compound_statement "{\n    FUN_00076c30(&local_6c,&local_64,"rowid");\n    if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }\n    if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }\n  }" ({ "{") (expression_statement "FUN_00076c30(&local_6c,&local_64,"rowid");" (call_expression "FUN_00076c30(&local_6c,&local_64,"rowid")" (identifier "FUN_00076c30") (argument_list "(&local_6c,&local_64,"rowid")" (( "(") (pointer_expression "&local_6c" (& "&") (identifier "local_6c")) (, ",") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (string_literal ""rowid"" (" """) (string_content "rowid") (" """)) () ")"))) (; ";")) (if_statement "if (0 < *(int *)((int)local_dc + 0x18)) {\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }" (if "if") (parenthesized_expression "(0 < *(int *)((int)local_dc + 0x18))" (( "(") (binary_expression "0 < *(int *)((int)local_dc + 0x18)" (number_literal "0") (< "<") (pointer_expression "*(int *)((int)local_dc + 0x18)" (* "*") (cast_expression "(int *)((int)local_dc + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x18)" (( "(") (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n      iVar21 = 0;\n      do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));\n    }" ({ "{") (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" (identifier "iVar21") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      } while (iVar21 < *(int *)((int)local_dc + 0x18));" (do "do") (compound_statement "{\n        iVar23 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));\n      }" ({ "{") (expression_statement "iVar23 = iVar21 * 4;" (assignment_expression "iVar23 = iVar21 * 4" (identifier "iVar23") (= "=") (binary_expression "iVar21 * 4" (identifier "iVar21") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" (identifier "iVar21") (= "=") (binary_expression "iVar21 + 1" (identifier "iVar21") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));" (call_expression "FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23))" (identifier "FUN_00076c30") (argument_list "(&local_6c,&local_64,", x.\'%q\'",\n                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23))" (( "(") (pointer_expression "&local_6c" (& "&") (identifier "local_6c")) (, ",") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (string_literal "", x.\'%q\'"" (" """) (string_content ", x.") (escape_sequence "\'") (string_content "%q") (escape_sequence "\'") (" """)) (, ",") (pointer_expression "*(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23)" (* "*") (cast_expression "(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + iVar23)" (( "(") (binary_expression "*(int *)((int)local_dc + 0x1c) + iVar23" (pointer_expression "*(int *)((int)local_dc + 0x1c)" (* "*") (cast_expression "(int *)((int)local_dc + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x1c)" (( "(") (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (identifier "iVar23")) () ")")))) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar21 < *(int *)((int)local_dc + 0x18))" (( "(") (binary_expression "iVar21 < *(int *)((int)local_dc + 0x18)" (identifier "iVar21") (< "<") (pointer_expression "*(int *)((int)local_dc + 0x18)" (* "*") (cast_expression "(int *)((int)local_dc + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x18)" (( "(") (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (; ";")) (} "}"))) (if_statement "if (*(int *)((int)local_dc + 0x2c) != 0) {\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }" (if "if") (parenthesized_expression "(*(int *)((int)local_dc + 0x2c) != 0)" (( "(") (binary_expression "*(int *)((int)local_dc + 0x2c) != 0" (pointer_expression "*(int *)((int)local_dc + 0x2c)" (* "*") (cast_expression "(int *)((int)local_dc + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x2c)" (( "(") (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x2c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));\n    }" ({ "{") (expression_statement "FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));" (call_expression "FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c))" (identifier "FUN_00076c30") (argument_list "(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c))" (( "(") (pointer_expression "&local_6c" (& "&") (identifier "local_6c")) (, ",") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (string_literal "", x.%Q"" (" """) (string_content ", x.%Q") (" """)) (, ",") (pointer_expression "*(int *)((int)local_dc + 0x2c)" (* "*") (cast_expression "(int *)((int)local_dc + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x2c)" (( "(") (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x2c")) () ")")))) () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar21 = *(int *)((int)local_dc + 0x28);" (assignment_expression "iVar21 = *(int *)((int)local_dc + 0x28)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)((int)local_dc + 0x28)" (* "*") (cast_expression "(int *)((int)local_dc + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x28)" (( "(") (binary_expression "(int)local_dc + 0x28" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (iVar21 == 0) {\n    pcVar13 = "_content";\n    iVar21 = *(int *)((int)local_dc + 0x14);\n  }\n  else {\n    pcVar13 = "";\n  }" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pcVar13 = "_content";\n    iVar21 = *(int *)((int)local_dc + 0x14);\n  }" ({ "{") (expression_statement "pcVar13 = "_content";" (assignment_expression "pcVar13 = "_content"" (identifier "pcVar13") (= "=") (string_literal ""_content"" (" """) (string_content "_content") (" """))) (; ";")) (expression_statement "iVar21 = *(int *)((int)local_dc + 0x14);" (assignment_expression "iVar21 = *(int *)((int)local_dc + 0x14)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)((int)local_dc + 0x14)" (* "*") (cast_expression "(int *)((int)local_dc + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x14)" (( "(") (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    pcVar13 = "";\n  }" (else "else") (compound_statement "{\n    pcVar13 = "";\n  }" ({ "{") (expression_statement "pcVar13 = "";" (assignment_expression "pcVar13 = """ (identifier "pcVar13") (= "=") (string_literal """" (" """) (" """))) (; ";")) (} "}")))) (expression_statement "FUN_00076c30(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",\n               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13);" (call_expression "FUN_00076c30(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",\n               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13)" (identifier "FUN_00076c30") (argument_list "(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",\n               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13)" (( "(") (pointer_expression "&local_6c" (& "&") (identifier "local_6c")) (, ",") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (string_literal "" FROM \'%q\'.\'%q%s\' AS x"" (" """) (string_content " FROM ") (escape_sequence "\'") (string_content "%q") (escape_sequence "\'") (string_content ".") (escape_sequence "\'") (string_content "%q%s") (escape_sequence "\'") (string_content " AS x") (" """)) (, ",") (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x10)" (( "(") (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x10")) () ")")))) (, ",") (identifier "iVar21") (, ",") (identifier "pcVar13") () ")"))) (; ";")) (expression_statement "*(size_t *)((int)local_dc + 0xdc) = local_64;" (assignment_expression "*(size_t *)((int)local_dc + 0xdc) = local_64" (pointer_expression "*(size_t *)((int)local_dc + 0xdc)" (* "*") (cast_expression "(size_t *)((int)local_dc + 0xdc)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xdc)" (( "(") (binary_expression "(int)local_dc + 0xdc" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xdc")) () ")")))) (= "=") (identifier "local_64")) (; ";")) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" (identifier "local_64") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_a4 == (byte *)0x0) {\n    local_c8 = (undefined *)0x0;\n    puVar12 = &DAT_000f50ff;\n  }\n  else {\n    puVar12 = (undefined *)FUN_00041e40();\n    local_c8 = puVar12;\n  }" (if "if") (parenthesized_expression "(local_a4 == (byte *)0x0)" (( "(") (binary_expression "local_a4 == (byte *)0x0" (identifier "local_a4") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_c8 = (undefined *)0x0;\n    puVar12 = &DAT_000f50ff;\n  }" ({ "{") (expression_statement "local_c8 = (undefined *)0x0;" (assignment_expression "local_c8 = (undefined *)0x0" (identifier "local_c8") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar12 = &DAT_000f50ff;" (assignment_expression "puVar12 = &DAT_000f50ff" (identifier "puVar12") (= "=") (pointer_expression "&DAT_000f50ff" (& "&") (identifier "DAT_000f50ff"))) (; ";")) (} "}")) (else_clause "else {\n    puVar12 = (undefined *)FUN_00041e40();\n    local_c8 = puVar12;\n  }" (else "else") (compound_statement "{\n    puVar12 = (undefined *)FUN_00041e40();\n    local_c8 = puVar12;\n  }" ({ "{") (expression_statement "puVar12 = (undefined *)FUN_00041e40();" (assignment_expression "puVar12 = (undefined *)FUN_00041e40()" (identifier "puVar12") (= "=") (cast_expression "(undefined *)FUN_00041e40()" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00041e40()" (identifier "FUN_00041e40") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_c8 = puVar12;" (assignment_expression "local_c8 = puVar12" (identifier "local_c8") (= "=") (identifier "puVar12")) (; ";")) (} "}")))) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" (identifier "iVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "psVar30 = &local_64;" (assignment_expression "psVar30 = &local_64" (identifier "psVar30") (= "=") (pointer_expression "&local_64" (& "&") (identifier "local_64"))) (; ";")) (expression_statement "FUN_00076c30(&local_6c,&local_64,&DAT_000f8342);" (call_expression "FUN_00076c30(&local_6c,&local_64,&DAT_000f8342)" (identifier "FUN_00076c30") (argument_list "(&local_6c,&local_64,&DAT_000f8342)" (( "(") (pointer_expression "&local_6c" (& "&") (identifier "local_6c")) (, ",") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (pointer_expression "&DAT_000f8342" (& "&") (identifier "DAT_000f8342")) () ")"))) (; ";")) (if_statement "if (0 < *(int *)((int)local_dc + 0x18)) {\n    do {\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    } while (iVar21 < *(int *)((int)local_dc + 0x18));\n  }" (if "if") (parenthesized_expression "(0 < *(int *)((int)local_dc + 0x18))" (( "(") (binary_expression "0 < *(int *)((int)local_dc + 0x18)" (number_literal "0") (< "<") (pointer_expression "*(int *)((int)local_dc + 0x18)" (* "*") (cast_expression "(int *)((int)local_dc + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x18)" (( "(") (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n    do {\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    } while (iVar21 < *(int *)((int)local_dc + 0x18));\n  }" ({ "{") (do_statement "do {\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    } while (iVar21 < *(int *)((int)local_dc + 0x18));" (do "do") (compound_statement "{\n      iVar21 = iVar21 + 1;\n      psVar30 = &local_64;\n      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);\n    }" ({ "{") (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" (identifier "iVar21") (= "=") (binary_expression "iVar21 + 1" (identifier "iVar21") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "psVar30 = &local_64;" (assignment_expression "psVar30 = &local_64" (identifier "psVar30") (= "=") (pointer_expression "&local_64" (& "&") (identifier "local_64"))) (; ";")) (expression_statement "FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);" (call_expression "FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12)" (identifier "FUN_00076c30") (argument_list "(&local_6c,&local_64,",%s(?)",puVar12)" (( "(") (pointer_expression "&local_6c" (& "&") (identifier "local_6c")) (, ",") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (string_literal "",%s(?)"" (" """) (string_content ",%s(?)") (" """)) (, ",") (identifier "puVar12") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar21 < *(int *)((int)local_dc + 0x18))" (( "(") (binary_expression "iVar21 < *(int *)((int)local_dc + 0x18)" (identifier "iVar21") (< "<") (pointer_expression "*(int *)((int)local_dc + 0x18)" (* "*") (cast_expression "(int *)((int)local_dc + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x18)" (( "(") (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (; ";")) (} "}"))) (if_statement "if (*(int *)((int)local_dc + 0x2c) != 0) {\n    psVar30 = &local_64;\n    FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);\n  }" (if "if") (parenthesized_expression "(*(int *)((int)local_dc + 0x2c) != 0)" (( "(") (binary_expression "*(int *)((int)local_dc + 0x2c) != 0" (pointer_expression "*(int *)((int)local_dc + 0x2c)" (* "*") (cast_expression "(int *)((int)local_dc + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x2c)" (( "(") (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x2c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    psVar30 = &local_64;\n    FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);\n  }" ({ "{") (expression_statement "psVar30 = &local_64;" (assignment_expression "psVar30 = &local_64" (identifier "psVar30") (= "=") (pointer_expression "&local_64" (& "&") (identifier "local_64"))) (; ";")) (expression_statement "FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);" (call_expression "FUN_00076c30(&local_6c,&local_64,&DAT_000f8340)" (identifier "FUN_00076c30") (argument_list "(&local_6c,&local_64,&DAT_000f8340)" (( "(") (pointer_expression "&local_6c" (& "&") (identifier "local_6c")) (, ",") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (pointer_expression "&DAT_000f8340" (& "&") (identifier "DAT_000f8340")) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00024cc0(local_c8);" (call_expression "FUN_00024cc0(local_c8)" (identifier "FUN_00024cc0") (argument_list "(local_c8)" (( "(") (identifier "local_c8") () ")"))) (; ";")) (expression_statement "*(size_t *)((int)local_dc + 0xe0) = local_64;" (assignment_expression "*(size_t *)((int)local_dc + 0xe0) = local_64" (pointer_expression "*(size_t *)((int)local_dc + 0xe0)" (* "*") (cast_expression "(size_t *)((int)local_dc + 0xe0)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xe0)" (( "(") (binary_expression "(int)local_dc + 0xe0" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xe0")) () ")")))) (= "=") (identifier "local_64")) (; ";")) (if_statement "if (local_6c == 0) {\n    if (param_1 == 0) {\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }\n    else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);\n    if (sVar7 == 0) {\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }\n    pcVar13 = "__langid";\n    if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }\n    FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);\n    iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));\n    if (iVar21 == 0) {\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }\n    else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }\n    FUN_00024cc0(iVar23);\n    FUN_00024cc0(iVar21);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    local_6c = sVar7;\n  }\n  else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }" (if "if") (parenthesized_expression "(local_6c == 0)" (( "(") (binary_expression "local_6c == 0" (identifier "local_6c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (param_1 == 0) {\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }\n    else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }\n    iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));\n    if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }\n    sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);\n    if (sVar7 == 0) {\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }\n    pcVar13 = "__langid";\n    if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }\n    FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);\n    iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));\n    if (iVar21 == 0) {\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }\n    else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }\n    FUN_00024cc0(iVar23);\n    FUN_00024cc0(iVar21);\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n    local_6c = sVar7;\n  }" ({ "{") (if_statement "if (param_1 == 0) {\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }\n    else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }\n    }" ({ "{") (if_statement "if (cVar1 != '4') {\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }" (if "if") (parenthesized_expression "(cVar1 != '4')" (( "(") (binary_expression "cVar1 != '4'" (identifier "cVar1") (!= "!=") (char_literal "'4'" (' "'") (character "4") (' "'"))) () ")")) (compound_statement "{\n        *(undefined1 *)((int)local_dc + 0xe9) = 2;\n      }" ({ "{") (expression_statement "*(undefined1 *)((int)local_dc + 0xe9) = 2;" (assignment_expression "*(undefined1 *)((int)local_dc + 0xe9) = 2" (pointer_expression "*(undefined1 *)((int)local_dc + 0xe9)" (* "*") (cast_expression "(undefined1 *)((int)local_dc + 0xe9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xe9)" (( "(") (binary_expression "(int)local_dc + 0xe9" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xe9")) () ")")))) (= "=") (number_literal "2")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }" (else "else") (compound_statement "{\n      local_64 = 0;\n      uVar17 = *(undefined4 *)((int)local_dc + 0xc);\n      if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);\n      FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }\n      if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }\n      local_6c = local_64;\n      if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }\n    }" ({ "{") (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" (identifier "local_64") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar17 = *(undefined4 *)((int)local_dc + 0xc);" (assignment_expression "uVar17 = *(undefined4 *)((int)local_dc + 0xc)" (identifier "uVar17") (= "=") (pointer_expression "*(undefined4 *)((int)local_dc + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xc)" (( "(") (binary_expression "(int)local_dc + 0xc" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (*(int *)((int)local_dc + 0x28) == 0) {\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }" (if "if") (parenthesized_expression "(*(int *)((int)local_dc + 0x28) == 0)" (( "(") (binary_expression "*(int *)((int)local_dc + 0x28) == 0" (pointer_expression "*(int *)((int)local_dc + 0x28)" (* "*") (cast_expression "(int *)((int)local_dc + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x28)" (( "(") (binary_expression "(int)local_dc + 0x28" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar21 = *(int *)((int)local_dc + 0x2c);\n        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");\n        if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }\n        psVar30 = psVar16;\n        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);\n        FUN_00024cc0(psVar16);\n      }" ({ "{") (expression_statement "iVar21 = *(int *)((int)local_dc + 0x2c);" (assignment_expression "iVar21 = *(int *)((int)local_dc + 0x2c)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)((int)local_dc + 0x2c)" (* "*") (cast_expression "(int *)((int)local_dc + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x2c)" (( "(") (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");" (assignment_expression "psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY")" (identifier "psVar16") (= "=") (cast_expression "(size_t *)FUN_00071090("docid INTEGER PRIMARY KEY")" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00071090("docid INTEGER PRIMARY KEY")" (identifier "FUN_00071090") (argument_list "("docid INTEGER PRIMARY KEY")" (( "(") (string_literal ""docid INTEGER PRIMARY KEY"" (" """) (string_content "docid INTEGER PRIMARY KEY") (" """)) () ")"))))) (; ";")) (if_statement "if (psVar16 == (size_t *)0x0) {\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }\n        else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }" (if "if") (parenthesized_expression "(psVar16 == (size_t *)0x0)" (( "(") (binary_expression "psVar16 == (size_t *)0x0" (identifier "psVar16") (== "==") (cast_expression "(size_t *)0x0" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000d0ffd:\n          local_64 = 7;\n          psVar16 = (size_t *)0x0;\n        }" ({ "{") (labeled_statement "LAB_000d0ffd:\n          local_64 = 7;" (statement_identifier "LAB_000d0ffd") (: ":") (expression_statement "local_64 = 7;" (assignment_expression "local_64 = 7" (identifier "local_64") (= "=") (number_literal "7")) (; ";"))) (expression_statement "psVar16 = (size_t *)0x0;" (assignment_expression "psVar16 = (size_t *)0x0" (identifier "psVar16") (= "=") (cast_expression "(size_t *)0x0" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }" (else "else") (compound_statement "{\n          if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }\n          if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;\n        }" ({ "{") (if_statement "if (0 < *(int *)((int)local_dc + 0x18)) {\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }" (if "if") (parenthesized_expression "(0 < *(int *)((int)local_dc + 0x18))" (( "(") (binary_expression "0 < *(int *)((int)local_dc + 0x18)" (number_literal "0") (< "<") (pointer_expression "*(int *)((int)local_dc + 0x18)" (* "*") (cast_expression "(int *)((int)local_dc + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x18)" (( "(") (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n            iVar23 = 0;\n            do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));\n          }" ({ "{") (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" (identifier "iVar23") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            } while (iVar8 < *(int *)((int)local_dc + 0x18));" (do "do") (compound_statement "{\n              iVar8 = iVar23 + 1;\n              psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));\n              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;\n              iVar23 = iVar8;\n            }" ({ "{") (expression_statement "iVar8 = iVar23 + 1;" (assignment_expression "iVar8 = iVar23 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));" (assignment_expression "psVar16 = (size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4))" (identifier "psVar16") (= "=") (cast_expression "(size_t *)\n                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4))" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4))" (identifier "FUN_00071090") (argument_list "("%z, \'c%d%q\'",psVar16,iVar23,\n                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4))" (( "(") (string_literal ""%z, \'c%d%q\'"" (" """) (string_content "%z, ") (escape_sequence "\'") (string_content "c%d%q") (escape_sequence "\'") (" """)) (, ",") (identifier "psVar16") (, ",") (identifier "iVar23") (, ",") (pointer_expression "*(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + iVar23 * 4)" (( "(") (binary_expression "*(int *)((int)local_dc + 0x1c) + iVar23 * 4" (pointer_expression "*(int *)((int)local_dc + 0x1c)" (* "*") (cast_expression "(int *)((int)local_dc + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x1c)" (( "(") (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (binary_expression "iVar23 * 4" (identifier "iVar23") (* "*") (number_literal "4"))) () ")")))) () ")"))))) (; ";")) (if_statement "if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;" (if "if") (parenthesized_expression "(psVar16 == (size_t *)0x0)" (( "(") (binary_expression "psVar16 == (size_t *)0x0" (identifier "psVar16") (== "==") (cast_expression "(size_t *)0x0" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000d0ffd;" (goto "goto") (statement_identifier "LAB_000d0ffd") (; ";"))) (expression_statement "iVar23 = iVar8;" (assignment_expression "iVar23 = iVar8" (identifier "iVar23") (= "=") (identifier "iVar8")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar8 < *(int *)((int)local_dc + 0x18))" (( "(") (binary_expression "iVar8 < *(int *)((int)local_dc + 0x18)" (identifier "iVar8") (< "<") (pointer_expression "*(int *)((int)local_dc + 0x18)" (* "*") (cast_expression "(int *)((int)local_dc + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x18)" (( "(") (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (; ";")) (} "}"))) (if_statement "if ((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;" (if "if") (parenthesized_expression "((iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0))" (( "(") (binary_expression "(iVar21 != 0) &&\n             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)" (parenthesized_expression "(iVar21 != 0)" (( "(") (binary_expression "iVar21 != 0" (identifier "iVar21") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0)" (( "(") (comma_expression "psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),\n             psVar16 == (size_t *)0x0" (assignment_expression "psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21)" (identifier "psVar16") (= "=") (cast_expression "(size_t *)FUN_00071090("%z, langid",psVar16,iVar21)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00071090("%z, langid",psVar16,iVar21)" (identifier "FUN_00071090") (argument_list "("%z, langid",psVar16,iVar21)" (( "(") (string_literal ""%z, langid"" (" """) (string_content "%z, langid") (" """)) (, ",") (identifier "psVar16") (, ",") (identifier "iVar21") () ")"))))) (, ",") (binary_expression "psVar16 == (size_t *)0x0" (identifier "psVar16") (== "==") (cast_expression "(size_t *)0x0" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_000d0ffd;" (goto "goto") (statement_identifier "LAB_000d0ffd") (; ";"))) (} "}")))) (expression_statement "psVar30 = psVar16;" (assignment_expression "psVar30 = psVar16" (identifier "psVar30") (= "=") (identifier "psVar16")) (; ";")) (expression_statement "FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16);" (call_expression "FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16)" (identifier "FUN_000c9d20") (argument_list "(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                     psVar16)" (( "(") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (identifier "uVar17") (, ",") (string_literal ""CREATE TABLE %Q.\'%q_content\'(%s)"" (" """) (string_content "CREATE TABLE %Q.") (escape_sequence "\'") (string_content "%q_content") (escape_sequence "\'") (string_content "(%s)") (" """)) (, ",") (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x10)" (( "(") (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x14)" (( "(") (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x14")) () ")")))) (, ",") (identifier "psVar16") () ")"))) (; ";")) (expression_statement "FUN_00024cc0(psVar16);" (call_expression "FUN_00024cc0(psVar16)" (identifier "FUN_00024cc0") (argument_list "(psVar16)" (( "(") (identifier "psVar16") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30);" (call_expression "FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30)" (identifier "FUN_000c9d20") (argument_list "(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",\n                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),\n                   psVar30)" (( "(") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (identifier "uVar17") (, ",") (string_literal ""CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);"" (" """) (string_content "CREATE TABLE %Q.") (escape_sequence "\'") (string_content "%q_segments") (escape_sequence "\'") (string_content "(blockid INTEGER PRIMARY KEY, block BLOB);") (" """)) (, ",") (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x10)" (( "(") (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x14)" (( "(") (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x14")) () ")")))) (, ",") (identifier "psVar30") () ")"))) (; ";")) (expression_statement "FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));" (call_expression "FUN_000c9d20(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14))" (identifier "FUN_000c9d20") (argument_list "(&local_64,uVar17,\n                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"\n                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14))" (( "(") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (identifier "uVar17") (, ",") (string_literal ""CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"" (" """) (string_content "CREATE TABLE %Q.") (escape_sequence "\'") (string_content "%q_segdir") (escape_sequence "\'") (string_content "(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));") (" """)) (, ",") (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x10)" (( "(") (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x14)" (( "(") (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x14")) () ")")))) () ")"))) (; ";")) (if_statement "if (*(char *)((int)local_dc + 0xea) != '\0') {\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }" (if "if") (parenthesized_expression "(*(char *)((int)local_dc + 0xea) != '\0')" (( "(") (binary_expression "*(char *)((int)local_dc + 0xea) != '\0'" (pointer_expression "*(char *)((int)local_dc + 0xea)" (* "*") (cast_expression "(char *)((int)local_dc + 0xea)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xea)" (( "(") (binary_expression "(int)local_dc + 0xea" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xea")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));\n      }" ({ "{") (expression_statement "FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));" (call_expression "FUN_000c9d20(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14))" (identifier "FUN_000c9d20") (argument_list "(&local_64,uVar17,\n                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",\n                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14))" (( "(") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (identifier "uVar17") (, ",") (string_literal ""CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);"" (" """) (string_content "CREATE TABLE %Q.") (escape_sequence "\'") (string_content "%q_docsize") (escape_sequence "\'") (string_content "(docid INTEGER PRIMARY KEY, size BLOB);") (" """)) (, ",") (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x10)" (( "(") (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x14)" (( "(") (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x14")) () ")")))) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)((int)local_dc + 0xe9) != '\0') {\n        FUN_000c9d90();\n      }" (if "if") (parenthesized_expression "(*(char *)((int)local_dc + 0xe9) != '\0')" (( "(") (binary_expression "*(char *)((int)local_dc + 0xe9) != '\0'" (pointer_expression "*(char *)((int)local_dc + 0xe9)" (* "*") (cast_expression "(char *)((int)local_dc + 0xe9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xe9)" (( "(") (binary_expression "(int)local_dc + 0xe9" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xe9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        FUN_000c9d90();\n      }" ({ "{") (expression_statement "FUN_000c9d90();" (call_expression "FUN_000c9d90()" (identifier "FUN_000c9d90") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_6c = local_64;" (assignment_expression "local_6c = local_64" (identifier "local_6c") (= "=") (identifier "local_64")) (; ";")) (if_statement "if (local_64 != 0) {\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }" (if "if") (parenthesized_expression "(local_64 != 0)" (( "(") (binary_expression "local_64 != 0" (identifier "local_64") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n        goto LAB_000d0ab0;\n      }" ({ "{") (expression_statement "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;" (assignment_expression "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xe4)" (* "*") (cast_expression "(int *)((int)local_dc + 0xe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xe4)" (( "(") (binary_expression "(int)local_dc + 0xe4" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xe4")) () ")")))) (= "=") (binary_expression "*(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xf0)" (* "*") (cast_expression "(int *)((int)local_dc + 0xf0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xf0)" (( "(") (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xf0")) () ")")))) (+ "+") (number_literal "-0x23"))) (; ";")) (goto_statement "goto LAB_000d0ab0;" (goto "goto") (statement_identifier "LAB_000d0ab0") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));" (assignment_expression "iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10))" (identifier "iVar21") (= "=") (call_expression "FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10))" (identifier "FUN_00071090") (argument_list "("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10))" (( "(") (string_literal ""PRAGMA %Q.page_size"" (" """) (string_content "PRAGMA %Q.page_size") (" """)) (, ",") (pointer_expression "*(undefined4 *)((int)local_dc + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x10)" (( "(") (binary_expression "(int)local_dc + 0x10" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar21 == 0) {\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_00024cc0(0);\n      local_6c = 7;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_9c = (byte *)0x0;\n      local_ac = (byte *)0x0;\n      goto LAB_000cfaef;\n    }" ({ "{") (expression_statement "FUN_00024cc0(0);" (call_expression "FUN_00024cc0(0)" (identifier "FUN_00024cc0") (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "local_6c = 7;" (assignment_expression "local_6c = 7" (identifier "local_6c") (= "=") (number_literal "7")) (; ";")) (expression_statement "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;" (assignment_expression "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xe4)" (* "*") (cast_expression "(int *)((int)local_dc + 0xe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xe4)" (( "(") (binary_expression "(int)local_dc + 0xe4" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xe4")) () ")")))) (= "=") (binary_expression "*(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xf0)" (* "*") (cast_expression "(int *)((int)local_dc + 0xf0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xf0)" (( "(") (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xf0")) () ")")))) (+ "+") (number_literal "-0x23"))) (; ";")) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" (identifier "local_9c") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" (identifier "local_ac") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_000cfaef;" (goto "goto") (statement_identifier "LAB_000cfaef") (; ";")) (} "}"))) (expression_statement "sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);" (assignment_expression "sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0)" (identifier "sVar7") (= "=") (call_expression "FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0)" (identifier "FUN_000c1ed0") (argument_list "(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0)" (( "(") (pointer_expression "*(undefined4 *)((int)local_dc + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xc)" (( "(") (binary_expression "(int)local_dc + 0xc" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "iVar21") (, ",") (number_literal "0xffffffff") (, ",") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (sVar7 == 0) {\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }\n    else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }" (if "if") (parenthesized_expression "(sVar7 == 0)" (( "(") (binary_expression "sVar7 == 0" (identifier "sVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_000accc0(local_64);\n      uVar17 = FUN_000384a0(local_64,0);\n      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;\n      sVar7 = FUN_00089c20(local_64);\nLAB_000d0420:\n      FUN_00024cc0(iVar21);\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n      local_6c = sVar7;\n      if (sVar7 != 0) goto LAB_000d0ab0;\n    }" ({ "{") (expression_statement "FUN_000accc0(local_64);" (call_expression "FUN_000accc0(local_64)" (identifier "FUN_000accc0") (argument_list "(local_64)" (( "(") (identifier "local_64") () ")"))) (; ";")) (expression_statement "uVar17 = FUN_000384a0(local_64,0);" (assignment_expression "uVar17 = FUN_000384a0(local_64,0)" (identifier "uVar17") (= "=") (call_expression "FUN_000384a0(local_64,0)" (identifier "FUN_000384a0") (argument_list "(local_64,0)" (( "(") (identifier "local_64") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)local_dc + 0xf0) = uVar17;" (assignment_expression "*(undefined4 *)((int)local_dc + 0xf0) = uVar17" (pointer_expression "*(undefined4 *)((int)local_dc + 0xf0)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0xf0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xf0)" (( "(") (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xf0")) () ")")))) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "sVar7 = FUN_00089c20(local_64);" (assignment_expression "sVar7 = FUN_00089c20(local_64)" (identifier "sVar7") (= "=") (call_expression "FUN_00089c20(local_64)" (identifier "FUN_00089c20") (argument_list "(local_64)" (( "(") (identifier "local_64") () ")")))) (; ";")) (labeled_statement "LAB_000d0420:\n      FUN_00024cc0(iVar21);" (statement_identifier "LAB_000d0420") (: ":") (expression_statement "FUN_00024cc0(iVar21);" (call_expression "FUN_00024cc0(iVar21)" (identifier "FUN_00024cc0") (argument_list "(iVar21)" (( "(") (identifier "iVar21") () ")"))) (; ";"))) (expression_statement "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;" (assignment_expression "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xe4)" (* "*") (cast_expression "(int *)((int)local_dc + 0xe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xe4)" (( "(") (binary_expression "(int)local_dc + 0xe4" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xe4")) () ")")))) (= "=") (binary_expression "*(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xf0)" (* "*") (cast_expression "(int *)((int)local_dc + 0xf0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xf0)" (( "(") (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xf0")) () ")")))) (+ "+") (number_literal "-0x23"))) (; ";")) (expression_statement "local_6c = sVar7;" (assignment_expression "local_6c = sVar7" (identifier "local_6c") (= "=") (identifier "sVar7")) (; ";")) (if_statement "if (sVar7 != 0) goto LAB_000d0ab0;" (if "if") (parenthesized_expression "(sVar7 != 0)" (( "(") (binary_expression "sVar7 != 0" (identifier "sVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000d0ab0;" (goto "goto") (statement_identifier "LAB_000d0ab0") (; ";"))) (} "}")) (else_clause "else {\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }" (else "else") (compound_statement "{\n      if (sVar7 != 0x17) goto LAB_000d0420;\n      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;\n      FUN_00024cc0(iVar21);\n      local_6c = 0;\n      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;\n    }" ({ "{") (if_statement "if (sVar7 != 0x17) goto LAB_000d0420;" (if "if") (parenthesized_expression "(sVar7 != 0x17)" (( "(") (binary_expression "sVar7 != 0x17" (identifier "sVar7") (!= "!=") (number_literal "0x17")) () ")")) (goto_statement "goto LAB_000d0420;" (goto "goto") (statement_identifier "LAB_000d0420") (; ";"))) (expression_statement "*(undefined4 *)((int)local_dc + 0xf0) = 0x400;" (assignment_expression "*(undefined4 *)((int)local_dc + 0xf0) = 0x400" (pointer_expression "*(undefined4 *)((int)local_dc + 0xf0)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0xf0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xf0)" (( "(") (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xf0")) () ")")))) (= "=") (number_literal "0x400")) (; ";")) (expression_statement "FUN_00024cc0(iVar21);" (call_expression "FUN_00024cc0(iVar21)" (identifier "FUN_00024cc0") (argument_list "(iVar21)" (( "(") (identifier "iVar21") () ")"))) (; ";")) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;" (assignment_expression "*(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xe4)" (* "*") (cast_expression "(int *)((int)local_dc + 0xe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xe4)" (( "(") (binary_expression "(int)local_dc + 0xe4" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xe4")) () ")")))) (= "=") (binary_expression "*(int *)((int)local_dc + 0xf0) + -0x23" (pointer_expression "*(int *)((int)local_dc + 0xf0)" (* "*") (cast_expression "(int *)((int)local_dc + 0xf0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xf0)" (( "(") (binary_expression "(int)local_dc + 0xf0" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xf0")) () ")")))) (+ "+") (number_literal "-0x23"))) (; ";")) (} "}")))) (expression_statement "pcVar13 = "__langid";" (assignment_expression "pcVar13 = "__langid"" (identifier "pcVar13") (= "=") (string_literal ""__langid"" (" """) (string_content "__langid") (" """))) (; ";")) (if_statement "if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }" (if "if") (parenthesized_expression "(*(char **)((int)local_dc + 0x2c) != (char *)0x0)" (( "(") (binary_expression "*(char **)((int)local_dc + 0x2c) != (char *)0x0" (pointer_expression "*(char **)((int)local_dc + 0x2c)" (* "*") (cast_expression "(char **)((int)local_dc + 0x2c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_dc + 0x2c)" (( "(") (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x2c")) () ")")))) (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pcVar13 = *(char **)((int)local_dc + 0x2c);\n    }" ({ "{") (expression_statement "pcVar13 = *(char **)((int)local_dc + 0x2c);" (assignment_expression "pcVar13 = *(char **)((int)local_dc + 0x2c)" (identifier "pcVar13") (= "=") (pointer_expression "*(char **)((int)local_dc + 0x2c)" (* "*") (cast_expression "(char **)((int)local_dc + 0x2c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_dc + 0x2c)" (( "(") (binary_expression "(int)local_dc + 0x2c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (} "}"))) (expression_statement "FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);" (call_expression "FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1)" (identifier "FUN_00051290") (argument_list "(*(undefined4 *)((int)local_dc + 0xc),1,1)" (( "(") (pointer_expression "*(undefined4 *)((int)local_dc + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xc)" (( "(") (binary_expression "(int)local_dc + 0xc" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xc")) () ")")))) (, ",") (number_literal "1") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));" (assignment_expression "iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c))" (identifier "iVar21") (= "=") (call_expression "FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c))" (identifier "FUN_00071090") (argument_list "(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c))" (( "(") (pointer_expression "&DAT_000f8377" (& "&") (identifier "DAT_000f8377")) (, ",") (pointer_expression "**(undefined4 **)((int)local_dc + 0x1c)" (* "*") (pointer_expression "*(undefined4 **)((int)local_dc + 0x1c)" (* "*") (cast_expression "(undefined4 **)((int)local_dc + 0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_dc + 0x1c)" (( "(") (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x1c")) () ")"))))) () ")")))) (; ";")) (if_statement "if (iVar21 == 0) {\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }\n    else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000d04d3:\n      iVar21 = 0;\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n    }" ({ "{") (labeled_statement "LAB_000d04d3:\n      iVar21 = 0;" (statement_identifier "LAB_000d04d3") (: ":") (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" (identifier "iVar21") (= "=") (number_literal "0")) (; ";"))) (expression_statement "sVar7 = 7;" (assignment_expression "sVar7 = 7" (identifier "sVar7") (= "=") (number_literal "7")) (; ";")) (expression_statement "iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);" (assignment_expression "iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" (identifier "iVar23") (= "=") (call_expression "FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" (identifier "FUN_00071090") (argument_list "("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" (( "(") (string_literal ""CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)"" (" """) (string_content "CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)") (" """)) (, ",") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x14)" (( "(") (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x14")) () ")")))) (, ",") (identifier "pcVar13") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }" (else "else") (compound_statement "{\n      if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }\n      sVar7 = 7;\n      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);\n      if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }\n    }" ({ "{") (if_statement "if (1 < *(int *)((int)local_dc + 0x18)) {\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }" (if "if") (parenthesized_expression "(1 < *(int *)((int)local_dc + 0x18))" (( "(") (binary_expression "1 < *(int *)((int)local_dc + 0x18)" (number_literal "1") (< "<") (pointer_expression "*(int *)((int)local_dc + 0x18)" (* "*") (cast_expression "(int *)((int)local_dc + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x18)" (( "(") (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n        iVar23 = 1;\n        do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));\n      }" ({ "{") (expression_statement "iVar23 = 1;" (assignment_expression "iVar23 = 1" (identifier "iVar23") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        } while (iVar23 < *(int *)((int)local_dc + 0x18));" (do "do") (compound_statement "{\n          iVar8 = iVar23 * 4;\n          iVar23 = iVar23 + 1;\n          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));\n          if (iVar21 == 0) goto LAB_000d04d3;\n        }" ({ "{") (expression_statement "iVar8 = iVar23 * 4;" (assignment_expression "iVar8 = iVar23 * 4" (identifier "iVar8") (= "=") (binary_expression "iVar23 * 4" (identifier "iVar23") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" (identifier "iVar23") (= "=") (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));" (assignment_expression "iVar21 = FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8))" (identifier "iVar21") (= "=") (call_expression "FUN_00071090(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8))" (identifier "FUN_00071090") (argument_list "(&DAT_000f8375,iVar21,\n                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8))" (( "(") (pointer_expression "&DAT_000f8375" (& "&") (identifier "DAT_000f8375")) (, ",") (identifier "iVar21") (, ",") (pointer_expression "*(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8)" (* "*") (cast_expression "(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)local_dc + 0x1c) + iVar8)" (( "(") (binary_expression "*(int *)((int)local_dc + 0x1c) + iVar8" (pointer_expression "*(int *)((int)local_dc + 0x1c)" (* "*") (cast_expression "(int *)((int)local_dc + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x1c)" (( "(") (binary_expression "(int)local_dc + 0x1c" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (identifier "iVar8")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar21 == 0) goto LAB_000d04d3;" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000d04d3;" (goto "goto") (statement_identifier "LAB_000d04d3") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(iVar23 < *(int *)((int)local_dc + 0x18))" (( "(") (binary_expression "iVar23 < *(int *)((int)local_dc + 0x18)" (identifier "iVar23") (< "<") (pointer_expression "*(int *)((int)local_dc + 0x18)" (* "*") (cast_expression "(int *)((int)local_dc + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x18)" (( "(") (binary_expression "(int)local_dc + 0x18" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (; ";")) (} "}"))) (expression_statement "sVar7 = 7;" (assignment_expression "sVar7 = 7" (identifier "sVar7") (= "=") (number_literal "7")) (; ";")) (expression_statement "iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);" (assignment_expression "iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" (identifier "iVar23") (= "=") (call_expression "FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" (identifier "FUN_00071090") (argument_list "("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,\n                            *(undefined4 *)((int)local_dc + 0x14),pcVar13)" (( "(") (string_literal ""CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)"" (" """) (string_content "CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)") (" """)) (, ",") (identifier "iVar21") (, ",") (pointer_expression "*(undefined4 *)((int)local_dc + 0x14)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0x14)" (( "(") (binary_expression "(int)local_dc + 0x14" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0x14")) () ")")))) (, ",") (identifier "pcVar13") () ")")))) (; ";")) (if_statement "if (iVar23 != 0) {\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }" (if "if") (parenthesized_expression "(iVar23 != 0)" (( "(") (binary_expression "iVar23 != 0" (identifier "iVar23") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);\n      }" ({ "{") (expression_statement "sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);" (assignment_expression "sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23)" (identifier "sVar7") (= "=") (call_expression "FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23)" (identifier "FUN_000c6db0") (argument_list "(*(undefined4 *)((int)local_dc + 0xc),iVar23)" (( "(") (pointer_expression "*(undefined4 *)((int)local_dc + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)local_dc + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_dc + 0xc)" (( "(") (binary_expression "(int)local_dc + 0xc" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "iVar23") () ")")))) (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_00024cc0(iVar23);" (call_expression "FUN_00024cc0(iVar23)" (identifier "FUN_00024cc0") (argument_list "(iVar23)" (( "(") (identifier "iVar23") () ")"))) (; ";")) (expression_statement "FUN_00024cc0(iVar21);" (call_expression "FUN_00024cc0(iVar21)" (identifier "FUN_00024cc0") (argument_list "(iVar21)" (( "(") (identifier "iVar21") () ")"))) (; ";")) (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" (identifier "local_9c") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" (identifier "local_ac") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_6c = sVar7;" (assignment_expression "local_6c = sVar7" (identifier "local_6c") (= "=") (identifier "sVar7")) (; ";")) (} "}")) (else_clause "else {\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }" (else "else") (compound_statement "{\nLAB_000d0ab0:\n    local_9c = (byte *)0x0;\n    local_ac = (byte *)0x0;\n  }" ({ "{") (labeled_statement "LAB_000d0ab0:\n    local_9c = (byte *)0x0;" (statement_identifier "LAB_000d0ab0") (: ":") (expression_statement "local_9c = (byte *)0x0;" (assignment_expression "local_9c = (byte *)0x0" (identifier "local_9c") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "local_ac = (byte *)0x0;" (assignment_expression "local_ac = (byte *)0x0" (identifier "local_ac") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (labeled_statement "LAB_000cfaef:\n  FUN_00024cc0(local_a8);" (statement_identifier "LAB_000cfaef") (: ":") (expression_statement "FUN_00024cc0(local_a8);" (call_expression "FUN_00024cc0(local_a8)" (identifier "FUN_00024cc0") (argument_list "(local_a8)" (( "(") (identifier "local_a8") () ")"))) (; ";"))) (expression_statement "FUN_00024cc0(local_bc);" (call_expression "FUN_00024cc0(local_bc)" (identifier "FUN_00024cc0") (argument_list "(local_bc)" (( "(") (identifier "local_bc") () ")"))) (; ";")) (expression_statement "FUN_00024cc0(local_a4);" (call_expression "FUN_00024cc0(local_a4)" (identifier "FUN_00024cc0") (argument_list "(local_a4)" (( "(") (identifier "local_a4") () ")"))) (; ";")) (expression_statement "FUN_00024cc0(local_a0);" (call_expression "FUN_00024cc0(local_a0)" (identifier "FUN_00024cc0") (argument_list "(local_a0)" (( "(") (identifier "local_a0") () ")"))) (; ";")) (expression_statement "FUN_00024cc0(local_ac);" (call_expression "FUN_00024cc0(local_ac)" (identifier "FUN_00024cc0") (argument_list "(local_ac)" (( "(") (identifier "local_ac") () ")"))) (; ";")) (expression_statement "FUN_00024cc0(local_9c);" (call_expression "FUN_00024cc0(local_9c)" (identifier "FUN_00024cc0") (argument_list "(local_9c)" (( "(") (identifier "local_9c") () ")"))) (; ";")) (expression_statement "piVar22 = local_c0;" (assignment_expression "piVar22 = local_c0" (identifier "piVar22") (= "=") (identifier "local_c0")) (; ";")) (if_statement "if (local_b0 != 0) {\n    do {\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    } while (local_c0 + local_b0 != piVar25);\n  }" (if "if") (parenthesized_expression "(local_b0 != 0)" (( "(") (binary_expression "local_b0 != 0" (identifier "local_b0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    do {\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    } while (local_c0 + local_b0 != piVar25);\n  }" ({ "{") (do_statement "do {\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    } while (local_c0 + local_b0 != piVar25);" (do "do") (compound_statement "{\n      piVar25 = piVar22 + 1;\n      FUN_00024cc0(*piVar22);\n      piVar22 = piVar25;\n    }" ({ "{") (expression_statement "piVar25 = piVar22 + 1;" (assignment_expression "piVar25 = piVar22 + 1" (identifier "piVar25") (= "=") (binary_expression "piVar22 + 1" (identifier "piVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_00024cc0(*piVar22);" (call_expression "FUN_00024cc0(*piVar22)" (identifier "FUN_00024cc0") (argument_list "(*piVar22)" (( "(") (pointer_expression "*piVar22" (* "*") (identifier "piVar22")) () ")"))) (; ";")) (expression_statement "piVar22 = piVar25;" (assignment_expression "piVar22 = piVar25" (identifier "piVar22") (= "=") (identifier "piVar25")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_c0 + local_b0 != piVar25)" (( "(") (binary_expression "local_c0 + local_b0 != piVar25" (binary_expression "local_c0 + local_b0" (identifier "local_c0") (+ "+") (identifier "local_b0")) (!= "!=") (identifier "piVar25")) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_00024cc0(local_cc);" (call_expression "FUN_00024cc0(local_cc)" (identifier "FUN_00024cc0") (argument_list "(local_cc)" (( "(") (identifier "local_cc") () ")"))) (; ";")) (expression_statement "FUN_00024cc0(local_c0);" (call_expression "FUN_00024cc0(local_c0)" (identifier "FUN_00024cc0") (argument_list "(local_c0)" (( "(") (identifier "local_c0") () ")"))) (; ";")) (if_statement "if (local_6c == 0) {\n    *param_5 = local_dc;\n  }\n  else if (local_dc == (void *)0x0) {\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }\n  else {\n    FUN_0008cf60(local_dc);\n  }" (if "if") (parenthesized_expression "(local_6c == 0)" (( "(") (binary_expression "local_6c == 0" (identifier "local_6c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    *param_5 = local_dc;\n  }" ({ "{") (expression_statement "*param_5 = local_dc;" (assignment_expression "*param_5 = local_dc" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (identifier "local_dc")) (; ";")) (} "}")) (else_clause "else if (local_dc == (void *)0x0) {\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }\n  else {\n    FUN_0008cf60(local_dc);\n  }" (else "else") (if_statement "if (local_dc == (void *)0x0) {\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }\n  else {\n    FUN_0008cf60(local_dc);\n  }" (if "if") (parenthesized_expression "(local_dc == (void *)0x0)" (( "(") (binary_expression "local_dc == (void *)0x0" (identifier "local_dc") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }\n  }" ({ "{") (if_statement "if (local_68 != (int *)0x0) {\n      (**(code **)(*local_68 + 8))(local_68);\n    }" (if "if") (parenthesized_expression "(local_68 != (int *)0x0)" (( "(") (binary_expression "local_68 != (int *)0x0" (identifier "local_68") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (**(code **)(*local_68 + 8))(local_68);\n    }" ({ "{") (expression_statement "(**(code **)(*local_68 + 8))(local_68);" (call_expression "(**(code **)(*local_68 + 8))(local_68)" (parenthesized_expression "(**(code **)(*local_68 + 8))" (( "(") (pointer_expression "**(code **)(*local_68 + 8)" (* "*") (pointer_expression "*(code **)(*local_68 + 8)" (* "*") (cast_expression "(code **)(*local_68 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_68 + 8)" (( "(") (binary_expression "*local_68 + 8" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(local_68)" (( "(") (identifier "local_68") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    FUN_0008cf60(local_dc);\n  }" (else "else") (compound_statement "{\n    FUN_0008cf60(local_dc);\n  }" ({ "{") (expression_statement "FUN_0008cf60(local_dc);" (call_expression "FUN_0008cf60(local_dc)" (identifier "FUN_0008cf60") (argument_list "(local_dc)" (( "(") (identifier "local_dc") () ")"))) (; ";")) (} "}")))))) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_6c;\n  }" (if "if") (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return local_6c;\n  }" ({ "{") (return_statement "return local_6c;" (return "return") (identifier "local_6c") (; ";")) (} "}"))) (expression_statement "FUN_000f4bf0();" (call_expression "FUN_000f4bf0()" (identifier "FUN_000f4bf0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int __regparm3
function_1(int var_63,type_1 *db,void *pAux,int var_3,char **argv,type_2 **ppVTab,
            char **pzErr)

{
  char **ppcVar1;
  int var_72;
  char var_16;
  char var_17;
  type_1 *db_00;
  type_3 var_51;
  type_3 var_44;
  size_t var_48;
  size_t var_49;
  size_t var_11;
  int var_13;
  type_4 *pFVar11;
  type_5 *var_40;
  type_6 var_43;
  type_7 **var_64;
  type_3 *var_45;
  type_3 *var_20;
  type_3 *var_46;
  int var_27;
  int *var_56;
  int var_9;
  char *var_18;
  char *var_15;
  int *var_57;
  int var_26;
  type_5 *var_39;
  int var_1;
  bool var_52;
  bool bVar26;
  type_7 **ppsVar27;
  type_8 *var_50;
  char *local_d0;
  type_5 *var_5;
  char *var_58;
  int *var_7;
  type_5 *var_42;
  int var_47;
  char *var_22;
  int var_25;
  type_3 *var_28;
  type_3 *var_41;
  type_3 *var_59;
  type_3 *var_60;
  type_3 *var_33;
  int var_53;
  int var_8;
  type_9 *var_10;
  int var_55;
  type_10 aFts4Opt [8];
  
  var_72 = *(int *)(var_1 + 0x14);
  var_8 = 0;
  var_16 = (*argv)[3];
  var_10 = (type_9 *)0x0;
  var_48 = var_2(argv[1]);
  var_49 = var_2(argv[2]);
  var_43 = var_3 * 4 - 8;
  var_5 = (type_5 *)var_4((type_11)var_43);
  if (var_5 != (type_5 *)0x0) {
    var_6(var_5,0,var_43);
    var_7 = (int *)var_4((type_11)var_43);
    if (var_7 != (int *)0x0) {
      var_6(var_7,0,var_43);
      if ((var_8 == 0) && (3 < var_3)) {
        var_27 = 0;
        local_d0 = (char *)0x0;
        var_9 = 3;
        var_25 = 0;
        var_33 = (type_3 *)0x0;
        var_28 = (type_3 *)0x0;
        var_60 = (type_3 *)0x0;
        var_59 = (type_3 *)0x0;
        var_41 = (type_3 *)0x0;
        bVar26 = false;
        var_51 = 0;
LAB_000cfa14:
        var_15 = argv[var_9];
        var_9 = var_9 + 1;
        if ((((var_10 == (type_9 *)0x0) && (var_11 = var_2(var_15), 8 < var_11)) &&
            (var_13 = var_12(var_15,"tokenize",8), var_13 == 0)) &&
           ((-1 < var_15[8] && (isFtsIdChar_41700[var_15[8]] == '\0')))) {
          var_8 = var_14((type_12 *)pAux,var_15 + 9,&var_10,pzErr);
          goto LAB_000cfa0c;
        }
        if (var_16 == '4') {
          var_17 = *var_15;
          var_18 = var_15;
          if (var_17 == '=') {
            var_22 = (char *)0x0;
          }
          else {
            do {
              if (var_17 == '\0') goto LAB_000cf9db;
              var_18 = var_18 + 1;
              var_17 = *var_18;
            } while (var_17 != '=');
            var_22 = (char *)((int)var_18 - (int)var_15);
          }
          var_20 = (type_3 *)var_19("%s",var_18 + 1);
          if (var_20 != (type_3 *)0x0) {
            var_21((char *)var_20);
          }
          aFts4Opt[0].nOpt = 9;
          aFts4Opt[1].nOpt = 6;
          aFts4Opt[0].zOpt = "matchinfo";
          aFts4Opt[1].zOpt = "prefix";
          aFts4Opt[2].zOpt = "compress";
          aFts4Opt[3].zOpt = "uncompress";
          aFts4Opt[4].zOpt = "order";
          aFts4Opt[5].zOpt = "content";
          aFts4Opt[6].zOpt = "languageid";
          aFts4Opt[2].nOpt = 8;
          aFts4Opt[3].nOpt = 10;
          aFts4Opt[4].nOpt = 5;
          aFts4Opt[5].nOpt = 7;
          aFts4Opt[6].nOpt = 10;
          aFts4Opt[7].zOpt = "notindexed";
          aFts4Opt[7].nOpt = 10;
          if (var_20 != (type_3 *)0x0) {
            var_13 = 9;
            var_26 = 0;
            do {
              var_46 = var_20;
              if ((var_22 == (char *)var_13) &&
                 (var_13 = var_12(var_15,aFts4Opt[var_26].zOpt,(int)var_22),
                 var_13 == 0)) {
                switch(var_26) {
                default:
                  var_11 = var_2((char *)var_20);
                  if ((var_11 == 4) &&
                     (var_13 = var_12((char *)var_20,"fts3",4), var_13 == 0)) {
                    var_51 = 1;
                  }
                  else {
                    var_23(pzErr,"unrecognized matchinfo: %s",var_20);
                    var_8 = 1;
                    var_51 = 1;
                  }
                  break;
                case 1:
                  var_24(var_41);
                  var_46 = (type_3 *)0x0;
                  var_41 = var_20;
                  break;
                case 2:
                  var_24(var_59);
                  var_46 = (type_3 *)0x0;
                  var_59 = var_20;
                  break;
                case 3:
                  var_24(var_60);
                  var_46 = (type_3 *)0x0;
                  var_60 = var_20;
                  break;
                case 4:
                  var_11 = var_2((char *)var_20);
                  if (var_11 == 3) {
                    var_13 = var_12((char *)var_20,"asc",3);
                    if (var_13 != 0) {
                      var_11 = var_2((char *)var_20);
                      goto LAB_000d0c76;
                    }
                  }
                  else {
LAB_000d0c76:
                    if ((var_11 != 4) ||
                       (var_13 = var_12((char *)var_20,"desc",4), var_13 != 0)) {
                      var_23(pzErr,"unrecognized order: %s",var_20);
                      var_8 = 1;
                    }
                  }
                  bVar26 = (*var_20 & 0xdf) == 0x44;
                  break;
                case 5:
                  var_24(var_28);
                  var_46 = (type_3 *)0x0;
                  var_28 = var_20;
                  break;
                case 6:
                  var_24(var_33);
                  var_46 = (type_3 *)0x0;
                  var_33 = var_20;
                  break;
                case 7:
                  var_7[var_25] = (int)var_20;
                  var_25 = var_25 + 1;
                  var_46 = (type_3 *)0x0;
                }
                goto LAB_000d06b8;
              }
              var_26 = var_26 + 1;
              if (var_26 == 8) goto LAB_000d0688;
              var_13 = aFts4Opt[var_26].nOpt;
            } while( true );
          }
          var_8 = 7;
          var_52 = false;
          goto LAB_000cfd03;
        }
LAB_000cf9db:
        var_11 = var_2(var_15);
        local_d0 = (char *)((int)local_d0 + 1U + var_11);
        var_5[var_27] = var_15;
        var_27 = var_27 + 1;
        goto LAB_000cfa0c;
      }
      var_51 = 0;
      var_27 = 0;
      var_41 = (type_3 *)0x0;
      var_28 = (type_3 *)0x0;
      var_33 = (type_3 *)0x0;
      var_25 = 0;
      bVar26 = false;
      local_d0 = (char *)0x0;
      var_60 = (type_3 *)0x0;
      var_59 = (type_3 *)0x0;
      goto LAB_000d0578;
    }
  }
  var_8 = 7;
  var_7 = (int *)0x0;
  var_42 = (type_5 *)0x0;
  var_25 = 0;
  var_33 = (type_3 *)0x0;
  var_28 = (type_3 *)0x0;
  var_60 = (type_3 *)0x0;
  var_59 = (type_3 *)0x0;
  var_41 = (type_3 *)0x0;
  var_50 = (type_8 *)0x0;
  goto LAB_000cfaef;
LAB_000d0688:
  var_23(pzErr,"unrecognized parameter: %s",var_15);
  var_8 = 1;
LAB_000d06b8:
  var_24(var_46);
LAB_000cfa0c:
  var_52 = var_8 == 0;
  if (var_3 <= var_9 || !var_52) goto LAB_000cfd03;
  goto LAB_000cfa14;
LAB_000d08d0:
  var_9 = var_9 + 1;
  if (var_9 == var_27) goto LAB_000cfd38;
  goto LAB_000d08db;
LAB_000cfd03:
  if ((var_28 == (type_3 *)0x0) || (!var_52)) {
LAB_000d0578:
    if (var_8 != 0) {
      var_42 = (type_5 *)0x0;
      var_50 = (type_8 *)0x0;
      goto LAB_000cfaef;
    }
    goto LAB_000d0580;
  }
  var_24(var_59);
  var_24(var_60);
  if (var_27 == 0) {
    var_24(var_5);
    var_55 = 0;
    var_15 = var_19("SELECT * FROM %Q.%Q",argv[1],var_28);
    if (var_15 == (char *)0x0) {
      var_24((void *)0x0);
      var_8 = 7;
      var_42 = (type_5 *)0x0;
      var_5 = (type_5 *)0x0;
      var_60 = (type_3 *)0x0;
      var_59 = (type_3 *)0x0;
      var_50 = (type_8 *)0x0;
      goto LAB_000cfaef;
    }
    var_27 = var_29(db,var_15,-1,(type_7 **)&var_55,(char **)0x0);
    if (var_27 != 0) {
      var_18 = var_30(db);
      var_23(pzErr,"%s",var_18);
      var_24(var_15);
      var_8 = var_27;
LAB_000d0e57:
      var_42 = (type_5 *)0x0;
      var_5 = (type_5 *)0x0;
      var_60 = (type_3 *)0x0;
      var_59 = (type_3 *)0x0;
      var_50 = (type_8 *)0x0;
      goto LAB_000cfaef;
    }
    var_24(var_15);
    var_27 = var_31((type_7 *)var_55);
    if (var_27 < 1) {
      var_5 = (type_5 *)var_4((type_11)(type_6)(var_27 * 4));
      if (var_5 == (type_5 *)0x0) goto LAB_000d1187;
      var_32((type_7 *)var_55);
      var_8 = 0;
      local_d0 = (char *)0x0;
      if (var_33 == (type_3 *)0x0) goto LAB_000d1169;
      local_d0 = (char *)0x0;
      var_60 = (type_3 *)0x0;
      var_59 = (type_3 *)0x0;
    }
    else {
      var_9 = 0;
      local_d0 = (char *)0x0;
      var_13 = 0;
      do {
        var_15 = var_34((type_7 *)var_55,var_13);
        var_11 = var_2(var_15);
        var_52 = var_35((type_6)local_d0,var_11 + 1);
        local_d0 = (char *)((int)local_d0 + var_11 + 1);
        var_9 = var_9 + (type_6)var_52;
        var_13 = var_13 + 1;
      } while (var_27 != var_13);
      var_5 = (type_5 *)
                 var_4(var_36(var_9 + (type_6)var_35(var_27 * 4,(type_6)local_d0),
                                           var_27 * 4 + (int)local_d0));
      if (var_5 == (type_5 *)0x0) {
LAB_000d1187:
        var_32((type_7 *)var_55);
        var_8 = 7;
        goto LAB_000d0e57;
      }
      var_9 = 0;
      var_39 = var_5 + var_27;
      do {
        var_15 = var_34((type_7 *)var_55,var_9);
        var_11 = var_2(var_15);
        var_37(var_39,var_15,var_11 + 1);
        var_5[var_9] = var_39;
        var_39 = (type_5 *)((int)var_39 + var_11 + 1);
        var_9 = var_9 + 1;
      } while (var_27 != var_9);
      var_32((type_7 *)var_55);
      var_8 = 0;
      if (var_33 != (type_3 *)0x0) {
        var_9 = 0;
LAB_000d08db:
        var_13 = var_38((char *)var_33,(char *)var_5[var_9]);
        if (var_13 != 0) goto LAB_000d08d0;
        var_39 = var_5 + var_9;
        if (var_9 < var_27) {
          do {
            var_40 = var_39 + 1;
            *var_39 = var_39[1];
            var_39 = var_40;
          } while (var_5 + var_27 != var_40);
        }
        var_27 = var_27 + -1;
        var_60 = (type_3 *)0x0;
        var_59 = (type_3 *)0x0;
        goto LAB_000d0578;
      }
LAB_000d1169:
      var_8 = 0;
      var_60 = (type_3 *)0x0;
      var_59 = (type_3 *)0x0;
    }
LAB_000d0580:
    if (var_27 == 0) {
      var_27 = 1;
      local_d0 = (char *)0x8;
      *var_5 = "content";
    }
  }
  else {
LAB_000cfd38:
    if (var_8 != 0) {
      var_42 = (type_5 *)0x0;
      var_60 = (type_3 *)0x0;
      var_59 = (type_3 *)0x0;
LAB_000d0985:
      var_50 = (type_8 *)0x0;
      goto LAB_000cfaef;
    }
    var_60 = (type_3 *)0x0;
    var_59 = (type_3 *)0x0;
    var_8 = 0;
  }
  if (var_10 == (type_9 *)0x0) {
    var_8 = var_14((type_12 *)pAux,"simple",&var_10,pzErr);
    var_42 = (type_5 *)0x0;
    if (var_8 != 0) {
      var_50 = (type_8 *)0x0;
      goto LAB_000cfaef;
    }
  }
  if (var_41 == (type_3 *)0x0) {
    var_42 = (type_5 *)var_4(0x18);
    if (var_42 == (type_5 *)0x0) goto LAB_000d06fb;
    *var_42 = 0;
    var_42[5] = 0;
    var_43 = 0;
    do {
      *(type_5 *)(((type_6)(var_42 + 1) & 0xfffffffc) + var_43) = 0;
      var_43 = var_43 + 4;
    } while (var_43 < ((int)var_42 + (0x18 - ((type_6)(var_42 + 1) & 0xfffffffc)) & 0xfffffffc));
    var_8 = 0;
    var_9 = 6;
    var_53 = 1;
    var_22 = (char *)0x1;
  }
  else {
    var_44 = *var_41;
    if (var_44 == 0) {
      var_42 = (type_5 *)var_4(0x18);
      if (var_42 == (type_5 *)0x0) goto LAB_000d06fb;
      *var_42 = 0;
      var_42[5] = 0;
      var_43 = 0;
      do {
        *(type_5 *)(((type_6)(var_42 + 1) & 0xfffffffc) + var_43) = 0;
        var_43 = var_43 + 4;
      } while (var_43 < ((int)var_42 + (0x18 - ((type_6)(var_42 + 1) & 0xfffffffc)) & 0xfffffffc))
      ;
      var_9 = 6;
      var_53 = 1;
    }
    else {
      var_22 = (char *)0x2;
      var_20 = var_41;
      do {
        var_20 = var_20 + 1;
        var_22 = (char *)((int)var_22 + (type_6)(var_44 == 0x2c));
        var_44 = *var_20;
      } while (var_44 != 0);
      var_42 = (type_5 *)var_4((type_11)(type_6)((int)var_22 * 0x18));
      if (var_42 == (type_5 *)0x0) {
LAB_000d06fb:
        var_8 = 7;
        var_42 = (type_5 *)0x0;
        var_50 = (type_8 *)0x0;
        goto LAB_000cfaef;
      }
      var_6(var_42,0,(int)var_22 * 0x18);
      var_47 = 1;
      var_20 = var_41;
      do {
        if (9 < (type_3)(*var_20 - 0x30)) {
LAB_000d094c:
          var_8 = 1;
          var_23(pzErr,"error parsing prefix parameter: %s",var_41);
          var_22 = (char *)var_8;
          if (var_8 != 0) goto LAB_000d0985;
          var_53 = 0;
          var_9 = 0;
          goto LAB_000cfe77;
        }
        var_9 = (char)*var_20 + -0x30;
        var_46 = var_20;
        do {
          var_45 = var_46;
          var_46 = var_45 + 1;
          if (9 < (type_3)(var_45[1] - 0x30)) {
            if (var_46 == var_20) goto LAB_000d094c;
            if (var_9 == 0) goto LAB_000d0938;
            var_42[var_47 * 6] = var_9;
            var_47 = var_47 + 1;
            goto LAB_000cfe51;
          }
          var_9 = (char)var_45[1] + -0x30 + var_9 * 10;
        } while (var_9 < 0x989681);
        if (var_46 == var_20) goto LAB_000d094c;
LAB_000d0938:
        var_22 = (char *)((int)var_22 + -1);
LAB_000cfe51:
        var_20 = var_45 + 2;
      } while (var_47 < (int)var_22);
      var_53 = (int)var_22;
      var_9 = (int)var_22 * 6;
    }
    var_8 = 0;
    var_22 = (char *)var_53;
  }
LAB_000cfe77:
  var_48 = var_48 + 1;
  var_49 = var_49 + 1;
  var_43 = var_49 + var_48 + var_27 * 5 + (int)local_d0 + var_9 * 4 + 0x11c;
  var_50 = (type_8 *)var_4((type_11)var_43);
  if (var_50 == (type_8 *)0x0) {
    var_8 = 7;
    goto LAB_000cfaef;
  }
  var_52 = var_16 == '4';
  var_6(var_50,0,var_43);
  var_50->nColumn = var_27;
  var_50->nAutoincrmerge = 0xff;
  var_50->var_10 = var_10;
  var_50->db = db;
  var_50->azColumn = (char **)(var_50 + 1);
  var_50->bHasStat = var_52;
  var_50->bFts4 = var_52;
  var_50->bHasDocsize = (var_51 ^ 1) & var_52;
  var_50->bDescIdx = bVar26;
  var_50->nPendingData = 0;
  var_50->nMaxPendingData = 0x100000;
  var_50->zContentTbl = (char *)var_28;
  var_50->zLanguageid = (char *)var_33;
  pFVar11 = (type_4 *)(var_50[1].aStmt + var_27 + -0xe);
  var_50->aIndex = pFVar11;
  var_37(pFVar11,var_42,var_53 * 0x18);
  var_9 = 0;
  var_50->nIndex = (int)var_22;
  if (var_22 != (char *)0x0) {
    do {
      pFVar11 = var_50->aIndex;
      var_13 = var_9 + 1;
      pFVar11[var_9].hPending.keyClass = '\x01';
      pFVar11[var_9].hPending.copyKey = '\x01';
      pFVar11[var_9].hPending.first = (type_13 *)0x0;
      pFVar11[var_9].hPending.count = 0;
      pFVar11[var_9].hPending.htsize = 0;
      pFVar11[var_9].hPending.ht = (type_14 *)0x0;
      var_9 = var_13;
    } while (var_22 != (char *)var_13);
  }
  var_50->abNotindexed = (type_15 *)(var_50->aIndex + var_53);
  var_15 = (char *)((int)&var_50->aIndex[var_53].nPrefix + var_27);
  var_50->zName = var_15;
  var_18 = var_15 + var_49;
  var_37(var_15,argv[2],var_49);
  var_50->zDb = var_18;
  var_15 = var_18 + var_48;
  var_9 = 0;
  var_37(var_18,argv[1],var_48);
  if (0 < var_27) {
    do {
      var_55 = 0;
      var_18 = var_54(*(char **)((int)var_5 + var_9),&var_55);
      if (0 < var_55) {
        var_37(var_15,var_18,var_55);
      }
      var_15[var_55] = '\0';
      var_21(var_15);
      *(char **)((int)var_50->azColumn + var_9) = var_15;
      var_9 = var_9 + 4;
      var_15 = var_15 + var_55 + 1;
    } while (var_27 * 4 != var_9);
    var_58 = (char *)0x0;
    do {
      var_48 = var_2(var_50->azColumn[(int)var_58]);
      var_56 = var_7;
      if (var_25 != 0) {
        do {
          while (((var_15 = (char *)*var_56, var_15 != (char *)0x0 &&
                  (var_49 = var_2(var_15), var_48 == var_49)) &&
                 (var_9 = var_12(var_50->azColumn[(int)var_58],var_15,var_48),
                 var_9 == 0))) {
            var_57 = var_56 + 1;
            var_50->abNotindexed[(int)var_58] = '\x01';
            var_24(var_15);
            *var_56 = 0;
            var_56 = var_57;
            if (var_7 + var_25 == var_57) goto LAB_000d0168;
          }
          var_56 = var_56 + 1;
        } while (var_7 + var_25 != var_56);
      }
LAB_000d0168:
      var_58 = (char *)((int)var_58 + 1);
    } while (var_58 != (char *)var_27);
  }
  var_56 = var_7;
  if (var_25 != 0) {
    do {
      if (*var_56 != 0) {
        var_23(pzErr,"no such column: %s",*var_56);
        var_8 = 1;
      }
      var_56 = var_56 + 1;
    } while (var_7 + var_25 != var_56);
  }
  if ((var_8 == 0) && ((var_59 == (type_3 *)0x0) != (var_60 == (type_3 *)0x0))) {
    var_8 = 1;
    var_15 = "uncompress";
    if (var_59 == (type_3 *)0x0) {
      var_15 = "compress";
    }
    var_23(pzErr,"missing %s parameter in fts4 constructor",var_15);
  }
  var_55 = 0;
  if (var_50->zContentTbl == (char *)0x0) {
    if (var_60 == (type_3 *)0x0) {
      local_d0 = "";
      var_22 = (char *)0x0;
    }
    else {
      local_d0 = var_61((char *)var_60);
      var_22 = local_d0;
    }
    var_27 = 0;
    var_62(&var_8,(char **)&var_55,"docid");
    if (0 < var_50->nColumn) {
      do {
        var_9 = var_27 + 1;
        var_62(&var_8,(char **)&var_55,",%s(x.\'c%d%q\')",local_d0,var_27,var_50->azColumn[var_27]);
        var_27 = var_9;
      } while (var_9 < var_50->nColumn);
    }
    if (var_50->zLanguageid != (char *)0x0) {
      var_62(&var_8,(char **)&var_55,", x.%Q","langid");
    }
    var_24(var_22);
  }
  else {
    var_62(&var_8,(char **)&var_55,"rowid");
    if (0 < var_50->nColumn) {
      var_27 = 0;
      do {
        ppcVar1 = var_50->azColumn + var_27;
        var_27 = var_27 + 1;
        var_62(&var_8,(char **)&var_55,", x.\'%q\'",*ppcVar1);
      } while (var_27 < var_50->nColumn);
    }
    if (var_50->zLanguageid != (char *)0x0) {
      var_62(&var_8,(char **)&var_55,", x.%Q",var_50->zLanguageid);
    }
  }
  var_15 = var_50->zContentTbl;
  if (var_15 == (char *)0x0) {
    var_18 = "_content";
    var_15 = var_50->zName;
  }
  else {
    var_18 = "";
  }
  var_62(&var_8,(char **)&var_55," FROM \'%q\'.\'%q%s\' AS x",var_50->zDb,var_15,var_18);
  var_50->zReadExprlist = (char *)var_55;
  var_55 = 0;
  if (var_59 == (type_3 *)0x0) {
    var_58 = (char *)0x0;
    var_15 = "";
  }
  else {
    var_15 = var_61((char *)var_59);
    var_58 = var_15;
  }
  var_27 = 0;
  ppsVar27 = (type_7 **)&var_55;
  var_62(&var_8,(char **)&var_55,"?");
  if (0 < var_50->nColumn) {
    do {
      var_27 = var_27 + 1;
      ppsVar27 = (type_7 **)&var_55;
      var_62(&var_8,(char **)&var_55,",%s(?)",var_15);
    } while (var_27 < var_50->nColumn);
  }
  if (var_50->zLanguageid != (char *)0x0) {
    ppsVar27 = (type_7 **)&var_55;
    var_62(&var_8,(char **)&var_55,", ?");
  }
  var_24(var_58);
  var_50->zWriteExprlist = (char *)var_55;
  if (var_8 == 0) {
    if (var_63 == 0) {
      if (var_16 != '4') {
        var_50->bHasStat = '\x02';
      }
    }
    else {
      var_55 = 0;
      db_00 = var_50->db;
      if (var_50->zContentTbl == (char *)0x0) {
        var_15 = var_50->zLanguageid;
        var_64 = (type_7 **)var_19("docid INTEGER PRIMARY KEY");
        if (var_64 == (type_7 **)0x0) {
LAB_000d0ffd:
          var_55 = 7;
          var_64 = (type_7 **)0x0;
        }
        else {
          if (0 < var_50->nColumn) {
            var_27 = 0;
            do {
              var_9 = var_27 + 1;
              var_64 = (type_7 **)
                  var_19("%z, \'c%d%q\'",var_64,var_27,var_50->azColumn[var_27]);
              if (var_64 == (type_7 **)0x0) goto LAB_000d0ffd;
              var_27 = var_9;
            } while (var_9 < var_50->nColumn);
          }
          if ((var_15 != (char *)0x0) &&
             (var_64 = (type_7 **)var_19("%z, langid",var_64,var_15),
             var_64 == (type_7 **)0x0)) goto LAB_000d0ffd;
        }
        ppsVar27 = var_64;
        var_65(&var_55,db_00,"CREATE TABLE %Q.\'%q_content\'(%s)",var_50->zDb,var_50->zName,var_64);
        var_24(var_64);
      }
      var_65(&var_55,db_00,
                 "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",
                 var_50->zDb,var_50->zName,ppsVar27);
      var_65(&var_55,db_00,
                 "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"
                 ,var_50->zDb,var_50->zName);
      if (var_50->bHasDocsize != '\0') {
        var_65(&var_55,db_00,"CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",
                   var_50->zDb,var_50->zName);
      }
      if (var_50->bHasStat != '\0') {
        var_66(&var_55,var_50);
      }
      var_8 = var_55;
      if (var_55 != 0) {
        var_50->nNodeSize = var_50->nPgsz + -0x23;
        goto LAB_000d0ab0;
      }
    }
    var_15 = var_19("PRAGMA %Q.page_size",var_50->zDb);
    if (var_15 == (char *)0x0) {
      var_24((void *)0x0);
      var_8 = 7;
      var_50->nNodeSize = var_50->nPgsz + -0x23;
      var_33 = (type_3 *)0x0;
      var_28 = (type_3 *)0x0;
      goto LAB_000cfaef;
    }
    var_27 = var_29(var_50->db,var_15,-1,(type_7 **)&var_55,(char **)0x0);
    if (var_27 == 0) {
      var_67((type_7 *)var_55);
      var_27 = var_68((type_7 *)var_55,0);
      var_50->nPgsz = var_27;
      var_27 = var_32((type_7 *)var_55);
LAB_000d0420:
      var_24(var_15);
      var_50->nNodeSize = var_50->nPgsz + -0x23;
      var_8 = var_27;
      if (var_27 != 0) goto LAB_000d0ab0;
    }
    else {
      if (var_27 != 0x17) goto LAB_000d0420;
      var_50->nPgsz = 0x400;
      var_24(var_15);
      var_8 = 0;
      var_50->nNodeSize = var_50->nPgsz + -0x23;
    }
    var_15 = "__langid";
    if (var_50->zLanguageid != (char *)0x0) {
      var_15 = var_50->zLanguageid;
    }
    var_69(var_50->db,1,1);
    var_18 = var_19("%Q, ",*var_50->azColumn);
    if (var_18 == (char *)0x0) {
LAB_000d04d3:
      var_18 = (char *)0x0;
      var_27 = 7;
      var_15 = var_19("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,
                                var_50->zName,var_15);
    }
    else {
      if (1 < var_50->nColumn) {
        var_27 = 1;
        do {
          ppcVar1 = var_50->azColumn + var_27;
          var_27 = var_27 + 1;
          var_18 = var_19("%z%Q, ",var_18,*ppcVar1);
          if (var_18 == (char *)0x0) goto LAB_000d04d3;
        } while (var_27 < var_50->nColumn);
      }
      var_27 = 7;
      var_15 = var_19("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",var_18,
                                var_50->zName,var_15);
      if (var_15 != (char *)0x0) {
        var_27 = var_70(var_50->db,var_15);
      }
    }
    var_24(var_15);
    var_24(var_18);
    var_33 = (type_3 *)0x0;
    var_28 = (type_3 *)0x0;
    var_8 = var_27;
  }
  else {
LAB_000d0ab0:
    var_33 = (type_3 *)0x0;
    var_28 = (type_3 *)0x0;
  }
LAB_000cfaef:
  var_24(var_41);
  var_24(var_42);
  var_24(var_59);
  var_24(var_60);
  var_24(var_28);
  var_24(var_33);
  var_56 = var_7;
  if (var_25 != 0) {
    do {
      var_57 = var_56 + 1;
      var_24((void *)*var_56);
      var_56 = var_57;
    } while (var_7 + var_25 != var_57);
  }
  var_24(var_5);
  var_24(var_7);
  if (var_8 == 0) {
    *ppVTab = &var_50->base;
  }
  else if (var_50 == (type_8 *)0x0) {
    if (var_10 != (type_9 *)0x0) {
      (*var_10->pModule->xDestroy)(var_10);
    }
  }
  else {
    var_71(&var_50->base);
  }
  if (var_72 == *(int *)(var_1 + 0x14)) {
    return var_8;
  }
                    /* WARNING: Subroutine does not return */
  var_73();
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

size_t __regparm2
MASKED(int param_1,undefined4 param_2,int param_3,int *param_4,undefined4 *param_5,
            undefined4 param_6)

{
  char cVar1;
  char cVar2;
  byte bVar3;
  byte bVar4;
  size_t sVar5;
  size_t sVar6;
  size_t sVar7;
  int iVar8;
  char *pcVar9;
  void *pvVar10;
  size_t sVar11;
  undefined *puVar12;
  char *pcVar13;
  undefined4 *puVar14;
  uint uVar15;
  size_t *psVar16;
  undefined4 uVar17;
  byte *pbVar18;
  byte *pbVar19;
  byte *pbVar20;
  int iVar21;
  int *piVar22;
  int iVar23;
  void *pvVar24;
  int *piVar25;
  int iVar26;
  undefined4 *puVar27;
  int in_GS_OFFSET;
  bool bVar28;
  bool bVar29;
  size_t *psVar30;
  void *local_dc;
  undefined *local_d0;
  undefined4 *local_cc;
  undefined *local_c8;
  int *local_c0;
  undefined4 *local_bc;
  int local_b8;
  undefined *local_b4;
  int local_b0;
  byte *local_ac;
  byte *local_a8;
  byte *local_a4;
  byte *local_a0;
  byte *local_9c;
  size_t local_80;
  size_t local_6c;
  int *local_68;
  size_t local_64;
  char *local_60;
  int local_5c;
  char *local_58;
  int local_54;
  char *local_50;
  undefined4 local_4c;
  char *local_48;
  undefined4 local_44;
  char *local_40;
  undefined4 local_3c;
  char *local_38;
  undefined4 local_34;
  char *local_30;
  undefined4 local_2c;
  char *local_28;
  undefined4 local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0xcf86b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_6c = 0;
  cVar1 = *(char *)(*param_4 + 3);
  local_68 = (int *)0x0;
  sVar5 = strlen((char *)param_4[1]);
  sVar6 = strlen((char *)param_4[2]);
  sVar7 = param_3 * 4 - 8;
  local_cc = (undefined4 *)FUN_0003f0c0(sVar7,0);
  if (local_cc != (undefined4 *)0x0) {
    memset(local_cc,0,sVar7);
    local_c0 = (int *)FUN_0003f0c0(sVar7,0);
    if (local_c0 != (int *)0x0) {
      memset(local_c0,0,sVar7);
      if ((local_6c == 0) && (3 < param_3)) {
        iVar21 = 0;
        local_d0 = (undefined *)0x0;
        iVar23 = 3;
        local_b0 = 0;
        local_9c = (byte *)0x0;
        local_ac = (byte *)0x0;
        local_a0 = (byte *)0x0;
        local_a4 = (byte *)0x0;
        local_a8 = (byte *)0x0;
        bVar29 = false;
        bVar3 = 0;
LAB_000cfa14:
        pcVar13 = (char *)param_4[iVar23];
        iVar23 = iVar23 + 1;
        if ((((local_68 == (int *)0x0) && (sVar7 = strlen(pcVar13), 8 < sVar7)) &&
            (iVar8 = FUN_00028130(pcVar13,"tokenize",8), iVar8 == 0)) &&
           ((-1 < pcVar13[8] && ((&DAT_000fc6a0)[pcVar13[8]] == '\0')))) {
          local_6c = FUN_00076a00(param_6);
          goto LAB_000cfa0c;
        }
        if (cVar1 == '4') {
          cVar2 = *pcVar13;
          pcVar9 = pcVar13;
          if (cVar2 == '=') {
            local_b4 = (undefined *)0x0;
          }
          else {
            do {
              if (cVar2 == '\0') goto LAB_000cf9db;
              pcVar9 = pcVar9 + 1;
              cVar2 = *pcVar9;
            } while (cVar2 != '=');
            local_b4 = (undefined *)((int)pcVar9 - (int)pcVar13);
          }
          pbVar19 = (byte *)FUN_00071090(&DAT_000f6ce3,pcVar9 + 1);
          if (pbVar19 != (byte *)0x0) {
            FUN_0001d8b0();
          }
          local_5c = 9;
          local_54 = 6;
          local_60 = "matchinfo";
          local_58 = "prefix";
          local_50 = "compress";
          local_48 = "uncompress";
          local_40 = "order";
          local_38 = "content";
          local_30 = "languageid";
          local_4c = 8;
          local_44 = 10;
          local_3c = 5;
          local_34 = 7;
          local_2c = 10;
          local_28 = "notindexed";
          local_24 = 10;
          if (pbVar19 != (byte *)0x0) {
            iVar8 = 9;
            iVar26 = 0;
            do {
              pbVar20 = pbVar19;
              if ((local_b4 == (undefined *)iVar8) &&
                 (iVar8 = FUN_00028130(pcVar13,(&local_60)[iVar26 * 2],local_b4), iVar8 == 0)) {
                switch(iVar26) {
                default:
                  sVar7 = strlen((char *)pbVar19);
                  if ((sVar7 == 4) && (iVar8 = FUN_00028130(pbVar19,"fts3",4), iVar8 == 0)) {
                    bVar3 = 1;
                  }
                  else {
                    FUN_00071050(param_6,"unrecognized matchinfo: %s",pbVar19);
                    local_6c = 1;
                    bVar3 = 1;
                  }
                  break;
                case 1:
                  FUN_00024cc0(local_a8);
                  pbVar20 = (byte *)0x0;
                  local_a8 = pbVar19;
                  break;
                case 2:
                  FUN_00024cc0(local_a4);
                  pbVar20 = (byte *)0x0;
                  local_a4 = pbVar19;
                  break;
                case 3:
                  FUN_00024cc0(local_a0);
                  pbVar20 = (byte *)0x0;
                  local_a0 = pbVar19;
                  break;
                case 4:
                  sVar7 = strlen((char *)pbVar19);
                  if (sVar7 == 3) {
                    iVar8 = FUN_00028130(pbVar19,&UNK_000f82c2,3);
                    if (iVar8 != 0) {
                      sVar7 = strlen((char *)pbVar19);
                      goto code_r0x000d0c76;
                    }
                  }
                  else {
code_r0x000d0c76:
                    if ((sVar7 != 4) || (iVar8 = FUN_00028130(pbVar19,&UNK_000f82dd,4), iVar8 != 0))
                    {
                      FUN_00071050(param_6,"unrecognized order: %s",pbVar19);
                      local_6c = 1;
                    }
                  }
                  bVar29 = (*pbVar19 & 0xdf) == 0x44;
                  break;
                case 5:
                  FUN_00024cc0(local_ac);
                  pbVar20 = (byte *)0x0;
                  local_ac = pbVar19;
                  break;
                case 6:
                  FUN_00024cc0(local_9c);
                  pbVar20 = (byte *)0x0;
                  local_9c = pbVar19;
                  break;
                case 7:
                  local_c0[local_b0] = (int)pbVar19;
                  local_b0 = local_b0 + 1;
                  pbVar20 = (byte *)0x0;
                }
                goto LAB_000d06b8;
              }
              iVar26 = iVar26 + 1;
              if (iVar26 == 8) goto LAB_000d0688;
              iVar8 = (&local_5c)[iVar26 * 2];
            } while( true );
          }
          local_6c = 7;
          bVar28 = false;
          goto LAB_000cfd03;
        }
LAB_000cf9db:
        sVar7 = strlen(pcVar13);
        local_d0 = (undefined *)((int)local_d0 + 1U + sVar7);
        local_cc[iVar21] = pcVar13;
        iVar21 = iVar21 + 1;
        goto LAB_000cfa0c;
      }
      bVar3 = 0;
      iVar21 = 0;
      local_a8 = (byte *)0x0;
      local_ac = (byte *)0x0;
      local_9c = (byte *)0x0;
      local_b0 = 0;
      bVar29 = false;
      local_d0 = (undefined *)0x0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
      goto LAB_000d0578;
    }
  }
  local_6c = 7;
  local_c0 = (int *)0x0;
  local_bc = (undefined4 *)0x0;
  local_b0 = 0;
  local_9c = (byte *)0x0;
  local_ac = (byte *)0x0;
  local_a0 = (byte *)0x0;
  local_a4 = (byte *)0x0;
  local_a8 = (byte *)0x0;
  local_dc = (void *)0x0;
  goto LAB_000cfaef;
LAB_000d0688:
  FUN_00071050(param_6,"unrecognized parameter: %s",pcVar13);
  local_6c = 1;
LAB_000d06b8:
  FUN_00024cc0(pbVar20);
LAB_000cfa0c:
  bVar28 = local_6c == 0;
  if (param_3 <= iVar23 || !bVar28) goto LAB_000cfd03;
  goto LAB_000cfa14;
LAB_000d08d0:
  iVar23 = iVar23 + 1;
  if (iVar23 == iVar21) goto LAB_000cfd38;
  goto LAB_000d08db;
LAB_000cfd03:
  if ((local_ac == (byte *)0x0) || (!bVar28)) {
LAB_000d0578:
    if (local_6c != 0) {
      local_bc = (undefined4 *)0x0;
      local_dc = (void *)0x0;
      goto LAB_000cfaef;
    }
    goto LAB_000d0580;
  }
  FUN_00024cc0(local_a4);
  FUN_00024cc0(local_a0);
  if (iVar21 == 0) {
    FUN_00024cc0(local_cc);
    local_64 = 0;
    iVar21 = FUN_00071090("SELECT * FROM %Q.%Q",param_4[1],local_ac);
    if (iVar21 == 0) {
      FUN_00024cc0(0);
      local_6c = 7;
      local_bc = (undefined4 *)0x0;
      local_cc = (undefined4 *)0x0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
      local_dc = (void *)0x0;
      goto LAB_000cfaef;
    }
    sVar7 = FUN_000c1ed0(param_2,iVar21,0xffffffff,&local_64,0);
    if (sVar7 != 0) {
      uVar17 = FUN_00055cc0(param_2);
      FUN_00071050(param_6,&DAT_000f6ce3,uVar17);
      FUN_00024cc0(iVar21);
      local_6c = sVar7;
LAB_000d0e57:
      local_bc = (undefined4 *)0x0;
      local_cc = (undefined4 *)0x0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
      local_dc = (void *)0x0;
      goto LAB_000cfaef;
    }
    FUN_00024cc0(iVar21);
    iVar21 = FUN_0001bb40(local_64);
    if (iVar21 < 1) {
      local_cc = (undefined4 *)FUN_0003f0c0(iVar21 * 4,0);
      if (local_cc == (undefined4 *)0x0) goto LAB_000d1187;
      FUN_00089c20(local_64);
      local_6c = 0;
      local_d0 = (undefined *)0x0;
      if (local_9c == (byte *)0x0) goto LAB_000d1169;
      local_d0 = (undefined *)0x0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
    }
    else {
      iVar23 = 0;
      local_d0 = (undefined *)0x0;
      iVar8 = 0;
      do {
        pcVar13 = (char *)FUN_0003ac60(local_64,iVar8);
        sVar7 = strlen(pcVar13);
        bVar28 = CARRY4((uint)local_d0,sVar7 + 1);
        local_d0 = (undefined *)((int)local_d0 + sVar7 + 1);
        iVar23 = iVar23 + (uint)bVar28;
        iVar8 = iVar8 + 1;
      } while (iVar21 != iVar8);
      local_cc = (undefined4 *)
                 FUN_0003f0c0(iVar21 * 4 + (int)local_d0,
                              iVar23 + (uint)CARRY4(iVar21 * 4,(uint)local_d0));
      if (local_cc == (undefined4 *)0x0) {
LAB_000d1187:
        FUN_00089c20(local_64);
        local_6c = 7;
        goto LAB_000d0e57;
      }
      iVar23 = 0;
      puVar27 = local_cc + iVar21;
      do {
        pcVar13 = (char *)FUN_0003ac60(local_64,iVar23);
        sVar7 = strlen(pcVar13);
        memcpy(puVar27,pcVar13,sVar7 + 1);
        local_cc[iVar23] = puVar27;
        puVar27 = (undefined4 *)((int)puVar27 + sVar7 + 1);
        iVar23 = iVar23 + 1;
      } while (iVar21 != iVar23);
      FUN_00089c20(local_64);
      local_6c = 0;
      if (local_9c != (byte *)0x0) {
        iVar23 = 0;
LAB_000d08db:
        iVar8 = FUN_00027b40(local_9c,local_cc[iVar23]);
        if (iVar8 != 0) goto LAB_000d08d0;
        puVar27 = local_cc + iVar23;
        if (iVar23 < iVar21) {
          do {
            puVar14 = puVar27 + 1;
            *puVar27 = puVar27[1];
            puVar27 = puVar14;
          } while (local_cc + iVar21 != puVar14);
        }
        iVar21 = iVar21 + -1;
        local_a0 = (byte *)0x0;
        local_a4 = (byte *)0x0;
        goto LAB_000d0578;
      }
LAB_000d1169:
      local_6c = 0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
    }
LAB_000d0580:
    if (iVar21 == 0) {
      iVar21 = 1;
      local_d0 = (undefined *)0x8;
      *local_cc = "content";
    }
  }
  else {
LAB_000cfd38:
    if (local_6c != 0) {
      local_bc = (undefined4 *)0x0;
      local_a0 = (byte *)0x0;
      local_a4 = (byte *)0x0;
LAB_000d0985:
      local_dc = (void *)0x0;
      goto LAB_000cfaef;
    }
    local_a0 = (byte *)0x0;
    local_a4 = (byte *)0x0;
    local_6c = 0;
  }
  if (local_68 == (int *)0x0) {
    local_6c = FUN_00076a00(param_6);
    local_bc = (undefined4 *)0x0;
    if (local_6c != 0) {
      local_dc = (void *)0x0;
      goto LAB_000cfaef;
    }
  }
  if (local_a8 == (byte *)0x0) {
    local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);
    if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;
    *local_bc = 0;
    local_bc[5] = 0;
    uVar15 = 0;
    do {
      *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;
      uVar15 = uVar15 + 4;
    } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc));
    local_6c = 0;
    iVar23 = 6;
    local_80 = 1;
    local_b4 = (undefined *)0x1;
  }
  else {
    bVar4 = *local_a8;
    if (bVar4 == 0) {
      local_bc = (undefined4 *)FUN_0003f0c0(0x18,0);
      if (local_bc == (undefined4 *)0x0) goto LAB_000d06fb;
      *local_bc = 0;
      local_bc[5] = 0;
      uVar15 = 0;
      do {
        *(undefined4 *)(((uint)(local_bc + 1) & 0xfffffffc) + uVar15) = 0;
        uVar15 = uVar15 + 4;
      } while (uVar15 < ((int)local_bc + (0x18 - ((uint)(local_bc + 1) & 0xfffffffc)) & 0xfffffffc))
      ;
      iVar23 = 6;
      local_80 = 1;
    }
    else {
      local_b4 = (undefined *)0x2;
      pbVar19 = local_a8;
      do {
        pbVar19 = pbVar19 + 1;
        local_b4 = (undefined *)((int)local_b4 + (uint)(bVar4 == 0x2c));
        bVar4 = *pbVar19;
      } while (bVar4 != 0);
      local_bc = (undefined4 *)FUN_0003f0c0((int)local_b4 * 0x18,0);
      if (local_bc == (undefined4 *)0x0) {
LAB_000d06fb:
        local_6c = 7;
        local_bc = (undefined4 *)0x0;
        local_dc = (void *)0x0;
        goto LAB_000cfaef;
      }
      memset(local_bc,0,(int)local_b4 * 0x18);
      local_b8 = 1;
      pbVar19 = local_a8;
      do {
        if (9 < (byte)(*pbVar19 - 0x30)) {
LAB_000d094c:
          local_6c = 1;
          FUN_00071050(param_6,"error parsing prefix parameter: %s",local_a8);
          local_b4 = (undefined *)local_6c;
          if (local_6c != 0) goto LAB_000d0985;
          local_80 = 0;
          iVar23 = 0;
          goto LAB_000cfe77;
        }
        iVar23 = (char)*pbVar19 + -0x30;
        pbVar20 = pbVar19;
        do {
          pbVar18 = pbVar20;
          pbVar20 = pbVar18 + 1;
          if (9 < (byte)(pbVar18[1] - 0x30)) {
            if (pbVar20 == pbVar19) goto LAB_000d094c;
            if (iVar23 == 0) goto LAB_000d0938;
            local_bc[local_b8 * 6] = iVar23;
            local_b8 = local_b8 + 1;
            goto LAB_000cfe51;
          }
          iVar23 = (char)pbVar18[1] + -0x30 + iVar23 * 10;
        } while (iVar23 < 0x989681);
        if (pbVar20 == pbVar19) goto LAB_000d094c;
LAB_000d0938:
        local_b4 = (undefined *)((int)local_b4 - 1);
LAB_000cfe51:
        pbVar19 = pbVar18 + 2;
      } while (local_b8 < (int)local_b4);
      local_80 = (size_t)local_b4;
      iVar23 = (int)local_b4 * 6;
    }
    local_6c = 0;
    local_b4 = (undefined *)local_80;
  }
LAB_000cfe77:
  sVar5 = sVar5 + 1;
  sVar6 = sVar6 + 1;
  sVar7 = sVar6 + sVar5 + iVar21 * 5 + (int)local_d0 + iVar23 * 4 + 0x11c;
  local_dc = (void *)FUN_0003f0c0(sVar7,0);
  if (local_dc == (void *)0x0) {
    local_6c = 7;
    goto LAB_000cfaef;
  }
  bVar28 = cVar1 == '4';
  memset(local_dc,0,sVar7);
  *(int *)((int)local_dc + 0x18) = iVar21;
  *(undefined4 *)((int)local_dc + 0x30) = 0xff;
  *(int **)((int)local_dc + 0x24) = local_68;
  *(undefined4 *)((int)local_dc + 0xc) = param_2;
  *(int *)((int)local_dc + 0x1c) = (int)local_dc + 0x11c;
  *(bool *)((int)local_dc + 0xe9) = bVar28;
  *(bool *)((int)local_dc + 0xe8) = bVar28;
  *(byte *)((int)local_dc + 0xea) = (bVar3 ^ 1) & bVar28;
  *(bool *)((int)local_dc + 0xeb) = bVar29;
  *(undefined4 *)((int)local_dc + 0x108) = 0;
  *(undefined4 *)((int)local_dc + 0x104) = 0x100000;
  *(byte **)((int)local_dc + 0x28) = local_ac;
  *(byte **)((int)local_dc + 0x2c) = local_9c;
  pvVar10 = (void *)((int)local_dc + 0x11c + iVar21 * 4);
  *(void **)((int)local_dc + 0x100) = pvVar10;
  memcpy(pvVar10,local_bc,local_80 * 0x18);
  sVar7 = 0;
  *(undefined **)((int)local_dc + 0xfc) = local_b4;
  if (local_b4 != (undefined *)0x0) {
    do {
      sVar11 = sVar7 + 1;
      iVar23 = *(int *)((int)local_dc + 0x100) + sVar7 * 0x18;
      *(undefined2 *)(iVar23 + 4) = 0x101;
      *(undefined4 *)(iVar23 + 0xc) = 0;
      *(undefined4 *)(iVar23 + 8) = 0;
      *(undefined4 *)(iVar23 + 0x10) = 0;
      *(undefined4 *)(iVar23 + 0x14) = 0;
      sVar7 = sVar11;
    } while (local_b4 != (undefined *)sVar11);
  }
  iVar23 = local_80 * 0x18 + *(int *)((int)local_dc + 0x100);
  *(int *)((int)local_dc + 0x20) = iVar23;
  pvVar10 = (void *)(iVar23 + iVar21);
  *(void **)((int)local_dc + 0x14) = pvVar10;
  pvVar24 = (void *)((int)pvVar10 + sVar6);
  memcpy(pvVar10,(void *)param_4[2],sVar6);
  *(void **)((int)local_dc + 0x10) = pvVar24;
  pvVar10 = (void *)((int)pvVar24 + sVar5);
  iVar23 = 0;
  memcpy(pvVar24,(void *)param_4[1],sVar5);
  if (0 < iVar21) {
    do {
      local_64 = 0;
      pvVar24 = (void *)FUN_0001ea80();
      if (0 < (int)local_64) {
        memcpy(pvVar10,pvVar24,local_64);
      }
      *(undefined1 *)((int)pvVar10 + local_64) = 0;
      FUN_0001d8b0();
      *(void **)(*(int *)((int)local_dc + 0x1c) + iVar23) = pvVar10;
      iVar23 = iVar23 + 4;
      pvVar10 = (void *)((int)pvVar10 + local_64 + 1);
    } while (iVar21 * 4 != iVar23);
    local_c8 = (undefined *)0x0;
    do {
      sVar7 = strlen(*(char **)(*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4));
      piVar22 = local_c0;
      if (local_b0 != 0) {
        do {
          while (((pcVar13 = (char *)*piVar22, pcVar13 != (char *)0x0 &&
                  (sVar5 = strlen(pcVar13), sVar7 == sVar5)) &&
                 (iVar23 = FUN_00028130(*(undefined4 *)
                                         (*(int *)((int)local_dc + 0x1c) + (int)local_c8 * 4),
                                        pcVar13,sVar7), iVar23 == 0))) {
            piVar25 = piVar22 + 1;
            *(undefined1 *)(*(int *)((int)local_dc + 0x20) + (int)local_c8) = 1;
            FUN_00024cc0(pcVar13);
            *piVar22 = 0;
            piVar22 = piVar25;
            if (local_c0 + local_b0 == piVar25) goto LAB_000d0168;
          }
          piVar22 = piVar22 + 1;
        } while (local_c0 + local_b0 != piVar22);
      }
LAB_000d0168:
      local_c8 = (undefined *)((int)local_c8 + 1);
    } while (local_c8 != (undefined *)iVar21);
  }
  piVar22 = local_c0;
  if (local_b0 != 0) {
    do {
      if (*piVar22 != 0) {
        FUN_00071050(param_6,"no such column: %s",*piVar22);
        local_6c = 1;
      }
      piVar22 = piVar22 + 1;
    } while (local_c0 + local_b0 != piVar22);
  }
  if ((local_6c == 0) && ((local_a4 == (byte *)0x0) != (local_a0 == (byte *)0x0))) {
    local_6c = 1;
    pcVar13 = "uncompress";
    if (local_a4 == (byte *)0x0) {
      pcVar13 = "compress";
    }
    FUN_00071050(param_6,"missing %s parameter in fts4 constructor",pcVar13);
  }
  local_64 = 0;
  if (*(int *)((int)local_dc + 0x28) == 0) {
    if (local_a0 == (byte *)0x0) {
      local_d0 = &DAT_000f50ff;
      local_b4 = (undefined *)0x0;
    }
    else {
      local_d0 = (undefined *)FUN_00041e40();
      local_b4 = local_d0;
    }
    iVar21 = 0;
    FUN_00076c30(&local_6c,&local_64,"docid");
    if (0 < *(int *)((int)local_dc + 0x18)) {
      do {
        iVar23 = iVar21 + 1;
        FUN_00076c30(&local_6c,&local_64,",%s(x.\'c%d%q\')",local_d0,iVar21,
                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar21 * 4));
        iVar21 = iVar23;
      } while (iVar23 < *(int *)((int)local_dc + 0x18));
    }
    if (*(int *)((int)local_dc + 0x2c) != 0) {
      FUN_00076c30(&local_6c,&local_64,", x.%Q","langid");
    }
    FUN_00024cc0(local_b4);
  }
  else {
    FUN_00076c30(&local_6c,&local_64,"rowid");
    if (0 < *(int *)((int)local_dc + 0x18)) {
      iVar21 = 0;
      do {
        iVar23 = iVar21 * 4;
        iVar21 = iVar21 + 1;
        FUN_00076c30(&local_6c,&local_64,", x.\'%q\'",
                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23));
      } while (iVar21 < *(int *)((int)local_dc + 0x18));
    }
    if (*(int *)((int)local_dc + 0x2c) != 0) {
      FUN_00076c30(&local_6c,&local_64,", x.%Q",*(int *)((int)local_dc + 0x2c));
    }
  }
  iVar21 = *(int *)((int)local_dc + 0x28);
  if (iVar21 == 0) {
    pcVar13 = "_content";
    iVar21 = *(int *)((int)local_dc + 0x14);
  }
  else {
    pcVar13 = "";
  }
  FUN_00076c30(&local_6c,&local_64," FROM \'%q\'.\'%q%s\' AS x",
               *(undefined4 *)((int)local_dc + 0x10),iVar21,pcVar13);
  *(size_t *)((int)local_dc + 0xdc) = local_64;
  local_64 = 0;
  if (local_a4 == (byte *)0x0) {
    local_c8 = (undefined *)0x0;
    puVar12 = &DAT_000f50ff;
  }
  else {
    puVar12 = (undefined *)FUN_00041e40();
    local_c8 = puVar12;
  }
  iVar21 = 0;
  psVar30 = &local_64;
  FUN_00076c30(&local_6c,&local_64,&DAT_000f8342);
  if (0 < *(int *)((int)local_dc + 0x18)) {
    do {
      iVar21 = iVar21 + 1;
      psVar30 = &local_64;
      FUN_00076c30(&local_6c,&local_64,",%s(?)",puVar12);
    } while (iVar21 < *(int *)((int)local_dc + 0x18));
  }
  if (*(int *)((int)local_dc + 0x2c) != 0) {
    psVar30 = &local_64;
    FUN_00076c30(&local_6c,&local_64,&DAT_000f8340);
  }
  FUN_00024cc0(local_c8);
  *(size_t *)((int)local_dc + 0xe0) = local_64;
  if (local_6c == 0) {
    if (param_1 == 0) {
      if (cVar1 != '4') {
        *(undefined1 *)((int)local_dc + 0xe9) = 2;
      }
    }
    else {
      local_64 = 0;
      uVar17 = *(undefined4 *)((int)local_dc + 0xc);
      if (*(int *)((int)local_dc + 0x28) == 0) {
        iVar21 = *(int *)((int)local_dc + 0x2c);
        psVar16 = (size_t *)FUN_00071090("docid INTEGER PRIMARY KEY");
        if (psVar16 == (size_t *)0x0) {
LAB_000d0ffd:
          local_64 = 7;
          psVar16 = (size_t *)0x0;
        }
        else {
          if (0 < *(int *)((int)local_dc + 0x18)) {
            iVar23 = 0;
            do {
              iVar8 = iVar23 + 1;
              psVar16 = (size_t *)
                        FUN_00071090("%z, \'c%d%q\'",psVar16,iVar23,
                                     *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar23 * 4));
              if (psVar16 == (size_t *)0x0) goto LAB_000d0ffd;
              iVar23 = iVar8;
            } while (iVar8 < *(int *)((int)local_dc + 0x18));
          }
          if ((iVar21 != 0) &&
             (psVar16 = (size_t *)FUN_00071090("%z, langid",psVar16,iVar21),
             psVar16 == (size_t *)0x0)) goto LAB_000d0ffd;
        }
        psVar30 = psVar16;
        FUN_000c9d20(&local_64,uVar17,"CREATE TABLE %Q.\'%q_content\'(%s)",
                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),
                     psVar16);
        FUN_00024cc0(psVar16);
      }
      FUN_000c9d20(&local_64,uVar17,
                   "CREATE TABLE %Q.\'%q_segments\'(blockid INTEGER PRIMARY KEY, block BLOB);",
                   *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14),
                   psVar30);
      FUN_000c9d20(&local_64,uVar17,
                   "CREATE TABLE %Q.\'%q_segdir\'(level INTEGER,idx INTEGER,start_block INTEGER,leaves_end_block INTEGER,end_block INTEGER,root BLOB,PRIMARY KEY(level, idx));"
                   ,*(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));
      if (*(char *)((int)local_dc + 0xea) != '\0') {
        FUN_000c9d20(&local_64,uVar17,
                     "CREATE TABLE %Q.\'%q_docsize\'(docid INTEGER PRIMARY KEY, size BLOB);",
                     *(undefined4 *)((int)local_dc + 0x10),*(undefined4 *)((int)local_dc + 0x14));
      }
      if (*(char *)((int)local_dc + 0xe9) != '\0') {
        FUN_000c9d90();
      }
      local_6c = local_64;
      if (local_64 != 0) {
        *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;
        goto LAB_000d0ab0;
      }
    }
    iVar21 = FUN_00071090("PRAGMA %Q.page_size",*(undefined4 *)((int)local_dc + 0x10));
    if (iVar21 == 0) {
      FUN_00024cc0(0);
      local_6c = 7;
      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;
      local_9c = (byte *)0x0;
      local_ac = (byte *)0x0;
      goto LAB_000cfaef;
    }
    sVar7 = FUN_000c1ed0(*(undefined4 *)((int)local_dc + 0xc),iVar21,0xffffffff,&local_64,0);
    if (sVar7 == 0) {
      FUN_000accc0(local_64);
      uVar17 = FUN_000384a0(local_64,0);
      *(undefined4 *)((int)local_dc + 0xf0) = uVar17;
      sVar7 = FUN_00089c20(local_64);
LAB_000d0420:
      FUN_00024cc0(iVar21);
      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;
      local_6c = sVar7;
      if (sVar7 != 0) goto LAB_000d0ab0;
    }
    else {
      if (sVar7 != 0x17) goto LAB_000d0420;
      *(undefined4 *)((int)local_dc + 0xf0) = 0x400;
      FUN_00024cc0(iVar21);
      local_6c = 0;
      *(int *)((int)local_dc + 0xe4) = *(int *)((int)local_dc + 0xf0) + -0x23;
    }
    pcVar13 = "__langid";
    if (*(char **)((int)local_dc + 0x2c) != (char *)0x0) {
      pcVar13 = *(char **)((int)local_dc + 0x2c);
    }
    FUN_00051290(*(undefined4 *)((int)local_dc + 0xc),1,1);
    iVar21 = FUN_00071090(&DAT_000f8377,**(undefined4 **)((int)local_dc + 0x1c));
    if (iVar21 == 0) {
LAB_000d04d3:
      iVar21 = 0;
      sVar7 = 7;
      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",0,
                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);
    }
    else {
      if (1 < *(int *)((int)local_dc + 0x18)) {
        iVar23 = 1;
        do {
          iVar8 = iVar23 * 4;
          iVar23 = iVar23 + 1;
          iVar21 = FUN_00071090(&DAT_000f8375,iVar21,
                                *(undefined4 *)(*(int *)((int)local_dc + 0x1c) + iVar8));
          if (iVar21 == 0) goto LAB_000d04d3;
        } while (iVar23 < *(int *)((int)local_dc + 0x18));
      }
      sVar7 = 7;
      iVar23 = FUN_00071090("CREATE TABLE x(%s %Q HIDDEN, docid HIDDEN, %Q HIDDEN)",iVar21,
                            *(undefined4 *)((int)local_dc + 0x14),pcVar13);
      if (iVar23 != 0) {
        sVar7 = FUN_000c6db0(*(undefined4 *)((int)local_dc + 0xc),iVar23);
      }
    }
    FUN_00024cc0(iVar23);
    FUN_00024cc0(iVar21);
    local_9c = (byte *)0x0;
    local_ac = (byte *)0x0;
    local_6c = sVar7;
  }
  else {
LAB_000d0ab0:
    local_9c = (byte *)0x0;
    local_ac = (byte *)0x0;
  }
LAB_000cfaef:
  FUN_00024cc0(local_a8);
  FUN_00024cc0(local_bc);
  FUN_00024cc0(local_a4);
  FUN_00024cc0(local_a0);
  FUN_00024cc0(local_ac);
  FUN_00024cc0(local_9c);
  piVar22 = local_c0;
  if (local_b0 != 0) {
    do {
      piVar25 = piVar22 + 1;
      FUN_00024cc0(*piVar22);
      piVar22 = piVar25;
    } while (local_c0 + local_b0 != piVar25);
  }
  FUN_00024cc0(local_cc);
  FUN_00024cc0(local_c0);
  if (local_6c == 0) {
    *param_5 = local_dc;
  }
  else if (local_dc == (void *)0x0) {
    if (local_68 != (int *)0x0) {
      (**(code **)(*local_68 + 8))(local_68);
    }
  }
  else {
    FUN_0008cf60(local_dc);
  }
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return local_6c;
  }
                    /* WARNING: Subroutine does not return */
  FUN_000f4bf0();
}

