
/* WARNING: Removing unreachable block (ram,0x00108664) */
/* WARNING: Removing unreachable block (ram,0x00108670) */
/* WARNING: Removing unreachable block (ram,0x00108680) */
/* WARNING: Removing unreachable block (ram,0x001086a4) */
/* WARNING: Removing unreachable block (ram,0x00108658) */
/* WARNING: Removing unreachable block (ram,0x001086d0) */
/* WARNING: Removing unreachable block (ram,0x00108880) */
/* WARNING: Removing unreachable block (ram,0x00108764) */
/* WARNING: Removing unreachable block (ram,0x001086ec) */
/* WARNING: Removing unreachable block (ram,0x00108710) */
/* WARNING: Removing unreachable block (ram,0x0010871c) */
/* WARNING: Removing unreachable block (ram,0x00108730) */
/* WARNING: Removing unreachable block (ram,0x001081b8) */
/* WARNING: Removing unreachable block (ram,0x00108cc8) */
/* WARNING: Removing unreachable block (ram,0x00108d00) */
/* WARNING: Removing unreachable block (ram,0x00109274) */
/* WARNING: Removing unreachable block (ram,0x00108d28) */
/* WARNING: Removing unreachable block (ram,0x00108d54) */
/* WARNING: Removing unreachable block (ram,0x00108d68) */
/* WARNING: Removing unreachable block (ram,0x00108da8) */
/* WARNING: Removing unreachable block (ram,0x00108dc8) */
/* WARNING: Removing unreachable block (ram,0x00108df4) */
/* WARNING: Removing unreachable block (ram,0x00108e4c) */
/* WARNING: Removing unreachable block (ram,0x00108df0) */
/* WARNING: Removing unreachable block (ram,0x00108d64) */
/* WARNING: Removing unreachable block (ram,0x00109540) */
/* WARNING: Removing unreachable block (ram,0x001093b0) */
/* WARNING: Removing unreachable block (ram,0x0010955c) */
/* WARNING: Removing unreachable block (ram,0x00109058) */
/* WARNING: Removing unreachable block (ram,0x00108e78) */
/* WARNING: Removing unreachable block (ram,0x00108e90) */
/* WARNING: Removing unreachable block (ram,0x00108e84) */
/* WARNING: Removing unreachable block (ram,0x001081dc) */
/* WARNING: Removing unreachable block (ram,0x001081e8) */
/* WARNING: Removing unreachable block (ram,0x00108ea8) */
/* WARNING: Removing unreachable block (ram,0x00108eb4) */
/* WARNING: Removing unreachable block (ram,0x00108eb8) */
/* WARNING: Removing unreachable block (ram,0x00108ec8) */
/* WARNING: Removing unreachable block (ram,0x00108ed4) */
/* WARNING: Removing unreachable block (ram,0x00108ee0) */
/* WARNING: Removing unreachable block (ram,0x001082d4) */
/* WARNING: Removing unreachable block (ram,0x00108b1c) */
/* WARNING: Removing unreachable block (ram,0x001090d8) */
/* WARNING: Removing unreachable block (ram,0x001082e0) */
/* WARNING: Removing unreachable block (ram,0x001082e8) */
/* WARNING: Removing unreachable block (ram,0x001082f0) */
/* WARNING: Removing unreachable block (ram,0x001082f4) */
/* WARNING: Removing unreachable block (ram,0x00108304) */
/* WARNING: Removing unreachable block (ram,0x00108328) */
/* WARNING: Removing unreachable block (ram,0x00108358) */
/* WARNING: Removing unreachable block (ram,0x00108370) */
/* WARNING: Removing unreachable block (ram,0x0010839c) */
/* WARNING: Removing unreachable block (ram,0x001083b0) */
/* WARNING: Removing unreachable block (ram,0x001083b8) */
/* WARNING: Removing unreachable block (ram,0x00108acc) */
/* WARNING: Removing unreachable block (ram,0x001083c0) */
/* WARNING: Removing unreachable block (ram,0x00108378) */
/* WARNING: Removing unreachable block (ram,0x00108ad4) */
/* WARNING: Removing unreachable block (ram,0x00108adc) */
/* WARNING: Removing unreachable block (ram,0x00108b10) */
/* WARNING: Removing unreachable block (ram,0x001083d4) */
/* WARNING: Removing unreachable block (ram,0x001083e0) */
/* WARNING: Removing unreachable block (ram,0x001083f0) */
/* WARNING: Removing unreachable block (ram,0x00108394) */
/* WARNING: Removing unreachable block (ram,0x0010875c) */
/* WARNING: Removing unreachable block (ram,0x0010926c) */
/* WARNING: Removing unreachable block (ram,0x0010876c) */
/* WARNING: Removing unreachable block (ram,0x00108bdc) */
/* WARNING: Removing unreachable block (ram,0x00107fb4) */
/* WARNING: Removing unreachable block (ram,0x00107fc8) */

void fts3SqlExec(int *pRC,Fts3Table *p,int eStmt,sqlite3_value **apVal)

{
  char cVar1;
  char cVar2;
  undefined *puVar3;
  byte *pbVar4;
  int iVar5;
  sqlite3_module *psVar6;
  int iVar7;
  int *piVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  uint uVar14;
  int iVar15;
  int *piVar16;
  int *piVar17;
  Fts3Index *pFVar18;
  undefined4 uVar19;
  sqlite3 *psVar20;
  Vdbe *pVVar21;
  char **ppcVar22;
  _func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *p_Var23;
  Vdbe **ppVVar24;
  int *piVar25;
  byte bVar26;
  u8 *puVar27;
  u32 *puVar28;
  sqlite3 *psVar29;
  sqlite3_module *psVar30;
  sqlite3 *psVar31;
  CollSeq *pCVar32;
  sqlite3 *psVar33;
  byte *pbVar34;
  sqlite3 *psVar35;
  sqlite3 *argv;
  byte *pbVar36;
  undefined1 *puVar37;
  Fts3Table *p_00;
  sqlite3 *psVar38;
  u32 uVar39;
  Db *pDVar40;
  sqlite3 *psVar41;
  sqlite3 *psVar42;
  sqlite3 *psVar43;
  sqlite3 *psVar44;
  undefined4 *puVar45;
  int iVar46;
  Schema **unaff_s3;
  char *pcVar47;
  u32 uVar48;
  sqlite3 *unaff_s5;
  sqlite3 *psVar49;
  sqlite3 *unaff_s6;
  sqlite3 *unaff_s7;
  undefined *puVar50;
  code *pcVar51;
  HashElem *pHVar52;
  HashElem *pHVar53;
  code *pcVar54;
  sqlite3 *unaff_s8;
  char *pcVar55;
  code *pcVar56;
  code *pcVar57;
  undefined8 uVar58;
  sqlite3_vtab **in_stack_fffffd68;
  char **in_stack_fffffd6c;
  int iStack_284;
  int iStack_278;
  Vdbe *pVStack_218;
  sqlite3_vfs *psStack_214;
  Vdbe *pVStack_210;
  sqlite3_module *psStack_20c;
  Vdbe *pVStack_208;
  CollSeq *pCStack_204;
  sqlite3 *apsStack_200 [13];
  sqlite3 *psStack_1cc;
  sqlite3 *psStack_1c8;
  sqlite3 *psStack_1c4;
  undefined4 *puStack_1c0;
  sqlite3 *psStack_1bc;
  sqlite3 *psStack_1b8;
  sqlite3 *psStack_1b4;
  sqlite3 *psStack_1b0;
  sqlite3 *psStack_1ac;
  sqlite3 *psStack_1a8;
  code *pcStack_1a4;
  sqlite3 *psStack_1a0;
  code *pcStack_190;
  undefined4 *puStack_18c;
  sqlite3 *psStack_188;
  sqlite3 *psStack_184;
  HashElem *pHStack_17c;
  sqlite3 *psStack_178;
  sqlite3 *psStack_174;
  sqlite3 *psStack_170;
  sqlite3 *psStack_16c;
  sqlite3 *psStack_168;
  code *pcStack_164;
  void **ppvStack_150;
  void **ppvStack_148;
  sqlite3 *psStack_140;
  _func_int_void_ptr *p_Stack_13c;
  _func_int_void_ptr *p_Stack_138;
  _func_int_void_ptr *p_Stack_134;
  sqlite3_vfs *psStack_12c;
  undefined1 auStack_128 [4];
  sqlite3_module *psStack_124;
  PreUpdate *pPStack_11c;
  sqlite3 *psStack_118;
  sqlite3 *psStack_114;
  sqlite3 *psStack_110;
  sqlite3 *psStack_10c;
  sqlite3 *psStack_108;
  undefined4 uStack_104;
  HashElem *pHStack_e0;
  sqlite3 *psStack_c8;
  Vdbe *pVStack_c4;
  Fts3Table *pFStack_c0;
  sqlite3 *psStack_bc;
  Db *pDStack_b8;
  sqlite3 *psStack_b4;
  sqlite3 *psStack_b0;
  HashElem *pHStack_ac;
  HashElem *pHStack_98;
  sqlite3 *psStack_90;
  sqlite3 *psStack_8c;
  sqlite3 *psStack_84;
  Db *pDStack_80;
  sqlite3 *psStack_7c;
  undefined4 uStack_78;
  Schema *pSStack_50;
  Fts3Table *pFStack_4c;
  _func_void_void_ptr_int_char_ptr_char_ptr_sqlite_int64 *p_Stack_44;
  _func_int_void_ptr *p_Stack_40;
  sqlite3_stmt *pStmt;
  sqlite3 *psStack_14;
  
  puVar3 = PTR___stack_chk_guard_0015ba2c;
  psVar31 = (sqlite3 *)&pStmt;
  psStack_14 = *(sqlite3 **)PTR___stack_chk_guard_0015ba2c;
  iVar5 = fts3SqlStmt(p,eStmt,(sqlite3_stmt **)psVar31,apVal);
  if (iVar5 == 0) {
    (*(code *)PTR_sqlite3_step_0015b630)(pStmt);
    iVar5 = (*(code *)PTR_sqlite3_reset_0015b648)();
    p = (Fts3Table *)pStmt;
  }
  *pRC = iVar5;
  if (psStack_14 == *(sqlite3 **)puVar3) {
    return;
  }
  puVar50 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  p_Stack_44 = (_func_void_void_ptr_int_char_ptr_char_ptr_sqlite_int64 *)puVar3;
  pDVar40 = *(Db **)(puVar50 + 0x549c8);
  pSStack_50 = (Schema *)0x0;
  pFStack_4c = (Fts3Table *)pDVar40->zDbSName;
  psVar43 = (sqlite3 *)eStmt;
  p_Stack_40 = (_func_int_void_ptr *)pRC;
  (*(code *)(*(int *)(puVar50 + 0x54674) + -0x38a4))();
  if ((sqlite3 *)eStmt == (sqlite3 *)0x0) {
LAB_00107118:
    eStmt = *(int *)(puVar50 + 0x5466c);
    if (pSStack_50 != (Schema *)0x0) goto LAB_001070c8;
    unaff_s3 = &pSStack_50;
    apVal = (sqlite3_value **)0x0;
    psVar31 = (sqlite3 *)0x3;
    eStmt = (int)&((sqlite3 *)(eStmt + 0x6e00))->aDbStatic[1].pBt;
    psVar43 = (sqlite3 *)p;
    fts3SqlExec((int *)unaff_s3,p,3,(sqlite3_value **)0x0);
    if (pSStack_50 == (Schema *)0x0) {
      apVal = (sqlite3_value **)0x0;
      psVar31 = (sqlite3 *)&DAT_00000004;
      psVar43 = (sqlite3 *)p;
      fts3SqlExec((int *)unaff_s3,p,4,(sqlite3_value **)0x0);
      if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) != '\0') {
        apVal = (sqlite3_value **)0x0;
        if (pSStack_50 != (Schema *)0x0) goto LAB_001070d4;
        psVar31 = (sqlite3 *)&DAT_00000005;
        psVar43 = (sqlite3 *)p;
        fts3SqlExec((int *)unaff_s3,p,5,(sqlite3_value **)0x0);
      }
      goto LAB_0010719c;
    }
  }
  else {
    if (pSStack_50 == (Schema *)0x0) {
      apVal = (sqlite3_value **)0x0;
      psVar31 = (sqlite3 *)0x2;
      psVar43 = (sqlite3 *)p;
      fts3SqlExec((int *)&pSStack_50,p,2,(sqlite3_value **)0x0);
      goto LAB_00107118;
    }
LAB_001070c8:
    if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) == '\0') {
LAB_0010719c:
      if ((*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1) != '\0') &&
         (pSStack_50 == (Schema *)0x0)) {
        apVal = (sqlite3_value **)0x0;
        psVar31 = (sqlite3 *)&DAT_00000006;
        psVar43 = (sqlite3 *)p;
        fts3SqlExec((int *)&pSStack_50,p,6,(sqlite3_value **)0x0);
      }
    }
  }
LAB_001070d4:
  if (pFStack_4c == (Fts3Table *)pDVar40->zDbSName) {
    return;
  }
  pcVar51 = *(code **)(puVar50 + 0x549ac);
  p_00 = pFStack_4c;
  (*pcVar51)();
  pHStack_98 = (HashElem *)(pcVar51 + 0x5c3d0);
  psVar41 = *(sqlite3 **)(pcVar51 + 0x5484c);
  psStack_8c = (sqlite3 *)((sqlite3_vtab *)&psVar41->pVfs)->pModule;
  psStack_84 = (sqlite3 *)p;
  pDStack_80 = pDVar40;
  psStack_7c = (sqlite3 *)eStmt;
  uStack_78 = (int)unaff_s3;
  if (p_00->zContentTbl == (char *)0x0) {
    apVal = (sqlite3_value **)&psVar43->pVdbe;
    psVar49 = (sqlite3 *)&psStack_90;
    psVar20 = (sqlite3 *)0x12;
    pDVar40 = (Db *)fts3SqlStmt(p_00,0x12,(sqlite3_stmt **)psVar49,apVal);
    psVar38 = psStack_90;
    if (pDVar40 == (Db *)0x0) {
      iVar5 = p_00->nColumn;
      if (p_00->zLanguageid != (char *)0x0) {
        psVar49 = (sqlite3 *)(*(code *)pHStack_98[-0x7e8].prev)(psVar43->aLimit[iVar5 + -0x17]);
        psVar20 = (sqlite3 *)(iVar5 + 2);
        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7d1].prev)(psVar38);
        unaff_s5 = psVar38;
        if (pDVar40 != (Db *)0x0) goto LAB_00107278;
        iVar5 = p_00->nColumn;
      }
      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->aLimit[iVar5 + -0x18]);
      if (iVar5 == 5) {
LAB_001073c8:
        (*(code *)pHStack_98[-0x7f8].next)(psStack_90);
        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7f7].data)(psStack_90);
        uVar58 = (*(code *)pHStack_98[-0x7ec].next)(p_00->db);
        psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);
        psVar31->pVdbe = (Vdbe *)(int)uVar58;
      }
      else {
        unaff_s5 = (sqlite3 *)
                   (*(code *)pHStack_98[-0x7fc].data)(((sqlite3_vtab *)&psVar43->pVfs)->pModule);
        if ((unaff_s5 == (sqlite3 *)&DAT_00000005) &&
           (iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe), iVar5 != 5)) {
          pDVar40 = (Db *)0x1;
        }
        else {
          psVar20 = (sqlite3 *)0x1;
          psVar43 = (sqlite3 *)(psVar43->aLimit + p_00->nColumn + -0x18);
          psVar49 = (sqlite3 *)((sqlite3_vtab *)&psVar43->pVfs)->pModule;
          pDVar40 = (Db *)(*(code *)pHStack_98[-0x7db].pKey)(psStack_90);
          if (pDVar40 == (Db *)0x0) goto LAB_001073c8;
        }
      }
    }
  }
  else {
    p_00 = (Fts3Table *)psVar43->aLimit[p_00->nColumn + -0x18];
    psVar20 = psVar43;
    psVar49 = psVar31;
    iVar5 = (**(code **)(pcVar51 + 0x54418))(p_00);
    if (iVar5 == 5) {
      p_00 = (Fts3Table *)psVar43->pVdbe;
      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);
    }
    else {
      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);
    }
    if (iVar5 == 1) {
      pDVar40 = (Db *)0x0;
      uVar58 = (*(code *)pHStack_98[-0x7fb].data)(p_00);
      psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);
      psVar31->pVdbe = (Vdbe *)(int)uVar58;
    }
    else {
      pDVar40 = (Db *)&DAT_00000013;
    }
  }
LAB_00107278:
  if (psStack_8c == (sqlite3 *)((sqlite3_vtab *)&psVar41->pVfs)->pModule) {
    return;
  }
  pHVar52 = pHStack_98[-0x7ba].next;
  pcVar51 = fts3InsertDocsize;
  psVar33 = psStack_8c;
  (*(code *)pHVar52)();
  psVar44 = (sqlite3 *)pHVar52[0x545f].pKey;
  psVar38 = (sqlite3 *)((sqlite3_vtab *)&psVar33->pVfs)->pModule;
  pVStack_c4 = (Vdbe *)((sqlite3_vtab *)&psVar44->pVfs)->pModule;
  psVar42 = psVar33;
  psVar29 = psVar20;
  pFStack_c0 = p_00;
  psStack_bc = psVar41;
  pDStack_b8 = pDVar40;
  psStack_b4 = psVar43;
  psStack_b0 = psVar31;
  pHStack_ac = (HashElem *)pcVar51;
  if (psVar38 == (sqlite3 *)0x0) {
    uVar14 = psVar20->mDbFlags;
    apVal = (sqlite3_value **)(uVar14 >> 0x1e);
    psVar29 = (sqlite3 *)(uVar14 * 10);
    psVar42 = (sqlite3 *)
              (uVar14 * 5 >> 0x1f |
              ((uint)(uVar14 * 5 < uVar14 * 4) +
              ((uint)apVal | ((int)uVar14 >> 0x1f) << 2) + ((int)uVar14 >> 0x1f)) * 2);
    psVar41 = (sqlite3 *)(*(code *)pHVar52[0x5433].next)();
    psVar31 = psVar33;
    if (psVar41 == (sqlite3 *)0x0) {
      ((sqlite3_vtab *)&psVar33->pVfs)->pModule = (sqlite3_module *)0x7;
    }
    else {
      uVar39 = psVar20->mDbFlags;
      if (0 < (int)uVar39) {
        piVar8 = psVar49->aLimit;
        psVar38 = (sqlite3 *)0x0;
        do {
          pbVar36 = (byte *)((int)psVar41->aLimit + (int)&psVar38[-1].busyHandler);
          psVar6 = ((sqlite3_vtab *)&psVar49->pVfs)->pModule;
          pbVar4 = pbVar36;
          do {
            pbVar34 = pbVar4;
            psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);
            bVar26 = (byte)psVar6;
            *pbVar34 = bVar26 | 0x80;
            psVar6 = psVar30;
            pbVar4 = pbVar34 + 1;
          } while (psVar30 != (sqlite3_module *)0x0);
          psVar49 = (sqlite3 *)&psVar49->pVdbe;
          *pbVar34 = bVar26 & 0x7f;
          psVar38 = (sqlite3 *)((int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36));
        } while ((sqlite3 *)(piVar8 + (uVar39 - 0x1b)) != psVar49);
      }
      apVal = (sqlite3_value **)0x0;
      psVar49 = (sqlite3 *)&psStack_c8;
      psVar29 = (sqlite3 *)0x14;
      psVar6 = (sqlite3_module *)
               fts3SqlStmt((Fts3Table *)psVar20,0x14,(sqlite3_stmt **)psVar49,(sqlite3_value **)0x0)
      ;
      if (psVar6 == (sqlite3_module *)0x0) {
        (*(code *)pHVar52[0x543c].data)
                  (psStack_c8,1,(psVar20->u1).isInterrupted,*(undefined4 *)((int)&psVar20->u1 + 4));
        psVar29 = (sqlite3 *)0x2;
        pHStack_e0 = pHVar52[0x541f].next;
        psVar49 = psVar41;
        apVal = (sqlite3_value **)psVar38;
        (*(code *)pHVar52[0x543c].pKey)(psStack_c8);
        (*(code *)pHVar52[0x5420].next)(psStack_c8);
        psVar6 = (sqlite3_module *)(*(code *)pHVar52[0x5421].data)();
        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;
        psVar42 = psStack_c8;
      }
      else {
        psVar42 = psVar41;
        (*(code *)pHVar52[0x541f].next)();
        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;
      }
    }
  }
  if (pVStack_c4 == (Vdbe *)((sqlite3_vtab *)&psVar44->pVfs)->pModule) {
    return;
  }
  pHVar53 = pHVar52[0x545e].next;
  (*(code *)pHVar53)();
  ppvStack_148 = &pHVar53[0x5bf8].data;
  pHVar52 = pHVar53[0x5440].prev;
  pPStack_11c = (PreUpdate *)(((pthread_mutex_t *)&pHVar52->next)->__data).__lock;
  psVar43 = psVar42;
  psVar33 = psVar49;
  psVar35 = (sqlite3 *)apVal;
  psStack_118 = psVar38;
  psStack_114 = psVar41;
  psStack_110 = psVar44;
  psStack_10c = psVar20;
  psStack_108 = psVar31;
  uStack_104 = (int)unaff_s5;
  if (((sqlite3_vtab *)&psVar42->pVfs)->pModule == (sqlite3_module *)0x0) {
    uVar39 = psVar29->mDbFlags;
    psVar31 = (sqlite3 *)(uVar39 + 2);
    psVar33 = (sqlite3 *)((uint)psVar31 >> 0x1d);
    psVar43 = (sqlite3 *)
              ((uint)((int)psVar31 * 7) >> 0x1f |
              ((((uint)psVar33 | ((int)psVar31 >> 0x1f) << 3) - ((int)psVar31 >> 0x1f)) -
              (uint)((uint)((int)psVar31 * 8) < (uint)((int)psVar31 * 7))) * 2);
    psVar44 = (sqlite3 *)(*(code *)pHVar53[0x5413].data)(psVar43,(int)psVar31 * 0xe);
    psVar20 = psVar29;
    unaff_s5 = psVar49;
    unaff_s6 = (sqlite3 *)apVal;
    if (psVar44 == (sqlite3 *)0x0) {
      ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)0x7;
    }
    else {
      psVar33 = (sqlite3 *)&psStack_12c;
      psVar35 = (sqlite3 *)0x0;
      p_Stack_13c = (_func_int_void_ptr *)((int)ppvStack_148[-0x1f4c] + 0x7f20);
      psStack_140 = psVar33;
      unaff_s8 = (sqlite3 *)
                 fts3SqlStmt((Fts3Table *)psVar29,0x16,(sqlite3_stmt **)psVar33,
                             (sqlite3_value **)0x0);
      psVar43 = psVar44;
      if (unaff_s8 == (sqlite3 *)0x0) {
        psVar33 = (sqlite3 *)0x0;
        unaff_s7 = (sqlite3 *)(uVar39 * 4 + 8);
        (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1);
        iVar5 = (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);
        if (iVar5 == 100) {
          p_Stack_138 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd2])(psStack_12c,0);
          p_Stack_134 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd3])(psStack_12c,0);
          if ((p_Stack_134 == (_func_int_void_ptr *)0x0) ||
             ((char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0')) {
            psVar41 = (sqlite3 *)0x0;
            if (0 < (int)psVar31) goto LAB_001079ec;
            pcVar51 = (code *)ppvStack_148[-0x1fda];
          }
          else {
            pcVar51 = (code *)ppvStack_148[-0x1fda];
            if (0 < (int)psVar31) {
              psVar41 = (sqlite3 *)0x0;
              if (0 < (int)p_Stack_134) {
                puVar37 = auStack_128;
                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);
                iVar5 = 0;
                psVar38 = psVar44;
                do {
                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);
                  iVar5 = iVar5 + iVar7;
                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);
                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;
                  if (psVar31 == psVar41) goto LAB_00107790;
                  psVar38 = (sqlite3 *)&psVar38->pVdbe;
                } while (iVar5 < (int)p_Stack_134);
              }
LAB_001079ec:
              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);
              do {
                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);
                *piVar8 = 0;
                piVar8 = piVar8 + 1;
              } while ((int)psVar41 < (int)psVar31);
              pcVar51 = (code *)ppvStack_148[-0x1fda];
            }
          }
        }
        else {
          psVar33 = unaff_s7;
          (*(code *)ppvStack_148[-0x1eff])(psVar44,0);
LAB_00107790:
          pcVar51 = (code *)ppvStack_148[-0x1fda];
        }
        unaff_s8 = (sqlite3 *)(*pcVar51)(psStack_12c);
        if (unaff_s8 == (sqlite3 *)0x0) {
          psVar6 = ((sqlite3_vtab *)&psVar44->pVfs)->pModule;
          if (((int)pHStack_e0 < 0) && (psVar6 < (sqlite3_module *)-(int)pHStack_e0)) {
            psVar6 = (sqlite3_module *)0x0;
          }
          else {
            psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6);
          }
          ((sqlite3_vtab *)&psVar44->pVfs)->pModule = psVar6;
          ppVVar24 = &psVar44->pVdbe;
          if (-1 < (int)psVar29->mDbFlags) {
            iVar5 = 0;
            do {
              while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,
                    psVar6 = (sqlite3_module *)
                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule
                             ), psVar6 < psVar30) {
                iVar5 = iVar5 + 1;
                *ppVVar24 = (Vdbe *)0x0;
                psVar49 = (sqlite3 *)&psVar49->pVdbe;
                ppVVar24 = ppVVar24 + 1;
                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;
                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;
              }
              iVar5 = iVar5 + 1;
              *ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);
              psVar49 = (sqlite3 *)&psVar49->pVdbe;
              ppVVar24 = ppVVar24 + 1;
              apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;
            } while (iVar5 <= (int)psVar29->mDbFlags);
          }
LAB_00107834:
          unaff_s7 = (sqlite3 *)((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler);
          psVar41 = (sqlite3 *)0x0;
          psVar38 = psVar44;
          if (0 < (int)psVar31) {
            do {
              pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);
              psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;
              pbVar4 = pbVar36;
              do {
                pbVar34 = pbVar4;
                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);
                bVar26 = (byte)psVar6;
                *pbVar34 = bVar26 | 0x80;
                psVar6 = psVar30;
                pbVar4 = pbVar34 + 1;
              } while (psVar30 != (sqlite3_module *)0x0);
              psVar38 = (sqlite3 *)&psVar38->pVdbe;
              *pbVar34 = bVar26 & 0x7f;
              psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));
              unaff_s8 = psVar41;
            } while (unaff_s7 != psVar38);
          }
          psVar35 = (sqlite3 *)0x0;
          psVar33 = psStack_140;
          psVar41 = (sqlite3 *)(*p_Stack_13c)(psVar29);
          unaff_s5 = psVar49;
          unaff_s6 = (sqlite3 *)apVal;
          if (psVar41 == (sqlite3 *)0x0) {
            (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1,0);
            ppvStack_150 = (void **)0x0;
            psVar33 = unaff_s7;
            psVar35 = unaff_s8;
            (*(code *)ppvStack_148[-0x1f6d])(psStack_12c,2);
            (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);
            psVar6 = (sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c);
            pcVar51 = (code *)ppvStack_148[-0x1f6b];
            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = psVar6;
            (*pcVar51)(psStack_12c,2);
            (*(code *)ppvStack_148[-0x1fe4])();
          }
          else {
            psStack_140 = psVar41;
            (*(code *)ppvStack_148[-0x1fe4])();
            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140;
          }
          goto LAB_0010767c;
        }
      }
      (*(code *)ppvStack_148[-0x1fe4])();
      ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)unaff_s8;
    }
  }
LAB_0010767c:
  if (pPStack_11c == (PreUpdate *)(((pthread_mutex_t *)&pHVar52->next)->__data).__lock) {
    return;
  }
  pcVar51 = (code *)ppvStack_148[-0x1ee8];
  pcVar56 = fts3NextMethod;
  (*pcVar51)();
  pcStack_190 = pcVar51 + 0x5bb2c;
  puVar45 = *(undefined4 **)(pcVar51 + 0x53fa8);
  psStack_184 = (sqlite3 *)*puVar45;
  pHStack_17c = pHVar52;
  psStack_178 = psVar42;
  psStack_174 = psVar44;
  psStack_170 = psVar20;
  psStack_16c = psVar31;
  psStack_168 = unaff_s5;
  pcStack_164 = pcVar56;
  if (*(ushort *)&psVar43->pVdbe < 2) {
    iVar5 = (**(code **)(pcVar51 + 0x53bac))((sqlite3 *)psVar43->mutex);
    if (iVar5 == 100) {
      uVar58 = (**(code **)(pcStack_190 + -0x7f60))((sqlite3 *)psVar43->mutex,0);
      psVar41 = (sqlite3 *)0x0;
      psVar43->flags = uVar58;
    }
    else {
      pcVar51 = *(code **)(pcStack_190 + -0x7f68);
      psVar41 = (sqlite3 *)psVar43->mutex;
      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;
      psVar41 = (sqlite3 *)(*pcVar51)(psVar41);
    }
  }
  else {
    psVar42 = (sqlite3 *)psVar43->aDb;
    psStack_188 = (sqlite3 *)0x0;
    if (psVar42 == (sqlite3 *)0x0) {
      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;
    }
    else {
      iVar5 = *(int *)(pcVar51 + 0x53c4c);
      psVar49 = (sqlite3 *)(*(int *)(pcVar51 + 0x53c74) + 0x6888);
      do {
        if (*(char *)((int)&psVar43->pVdbe + 3) == '\0') {
          (**(code **)(pcStack_190 + -0x7f68))((sqlite3 *)psVar43->mutex);
        }
        if (psStack_188 == (sqlite3 *)0x0) {
          psVar33 = (sqlite3 *)&psStack_188;
          (*(code *)psVar49)(psVar43,psVar42);
        }
        cVar2 = *(char *)&psVar42->flags;
        *(undefined1 *)((int)&psVar43->pVdbe + 3) = 1;
        *(char *)((int)&psVar43->pVdbe + 2) = cVar2;
        psVar43->mTrace = '\0';
        psVar43->noSharedCache = '\0';
        psVar43->nSqlExec = '\0';
        psVar43->field_0x5b = 1;
        puVar27 = (u8 *)psVar42->mDbFlags;
        *(sqlite3_tokenizer **)((int)&psVar43->flags + 4) =
             *(sqlite3_tokenizer **)&psVar42->field_0x1c;
        *(u8 **)&psVar43->flags = puVar27;
      } while ((cVar2 == '\0') &&
              (iVar7 = sqlite3Fts3EvalTestDeferred((Fts3Cursor *)psVar43,(int *)&psStack_188),
              iVar7 != 0));
      psVar41 = psStack_188;
      psVar20 = (sqlite3 *)&psStack_188;
      psVar31 = (sqlite3 *)(iVar5 + 0x5348);
      unaff_s5 = psVar49;
      if (psStack_188 != (sqlite3 *)0x0) goto LAB_00107b8c;
    }
    puVar27 = *(u8 **)&psVar43->flags;
    if (*(char *)((int)&psVar43->szMmap + 4) == '\0') {
      if ((int)puVar27 <= (int)*(u8 **)&psVar43->temp_store) {
        if (*(u8 **)&psVar43->temp_store != puVar27) goto LAB_00107c24;
        if (*(sqlite3_tokenizer **)((int)&psVar43->flags + 4) <=
            *(sqlite3_tokenizer **)&psVar43->nextAutovac) {
          psVar41 = (sqlite3 *)0x0;
          goto LAB_00107b8c;
        }
      }
    }
    else if ((psVar43->iSysErrno <= (int)puVar27) &&
            (((u8 *)psVar43->iSysErrno != puVar27 ||
             (*(sqlite3_tokenizer **)&psVar43->dbOptFlags <=
              *(sqlite3_tokenizer **)((int)&psVar43->flags + 4))))) {
LAB_00107c24:
      psVar41 = (sqlite3 *)0x0;
      goto LAB_00107b8c;
    }
    psVar41 = (sqlite3 *)0x0;
    *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;
  }
LAB_00107b8c:
  if (psStack_184 == (sqlite3 *)*puVar45) {
    return;
  }
  pcVar56 = *(code **)(pcStack_190 + -0x7ba0);
  pcVar57 = fts3InitVtab;
  psVar38 = psStack_184;
  (*pcVar56)();
  psVar49 = psStack_188;
  pcVar51 = pcStack_190;
  piVar25 = *(int **)(pcVar56 + 0x53d80);
  psVar44 = (sqlite3 *)((int)((int)&psVar35[-1].pNextBlocked + 2) * 4);
  pVStack_218 = (Vdbe *)0x0;
  psStack_1cc = (sqlite3 *)*piVar25;
  cVar2 = *(char *)(*(int *)pcStack_190 + 3);
  psStack_214 = (sqlite3_vfs *)0x0;
  psVar29 = psVar33;
  argv = psVar35;
  psStack_1c8 = psVar43;
  psStack_1c4 = psVar42;
  puStack_1c0 = puVar45;
  psStack_1bc = psVar20;
  psStack_1b8 = psVar31;
  psStack_1b4 = unaff_s5;
  psStack_1b0 = unaff_s6;
  psStack_1ac = unaff_s7;
  psStack_1a8 = unaff_s8;
  pcStack_1a4 = pcVar57;
  psStack_1a0 = psVar41;
  iVar5 = (**(code **)(pcVar56 + 0x53d18))(*(int *)(pcStack_190 + 4));
  iVar7 = (**(code **)(pcVar56 + 0x53d18))(*(int *)(pcVar51 + 8));
  psVar31 = psVar44;
  piVar8 = (int *)(**(code **)(pcVar56 + 0x53ab4))(0);
  if (piVar8 != (int *)0x0) {
    psVar29 = psVar44;
    (**(code **)(pcVar56 + 0x53d08))(piVar8,0);
    psVar31 = psVar44;
    iStack_284 = (**(code **)(pcVar56 + 0x53ab4))(0);
    if (iStack_284 != 0) {
      psVar31 = (sqlite3 *)0x0;
      (**(code **)(pcVar56 + 0x53d08))(iStack_284);
      if (pVStack_218 != (Vdbe *)0x0) {
        psVar43 = (sqlite3 *)0x0;
        iStack_278 = 0;
        goto LAB_00107f4c;
      }
      iVar9 = *(int *)(pcVar56 + 0x5393c);
      if ((int)psVar35 < 4) {
        uVar39 = 0;
        iVar46 = 0;
        bVar26 = 0;
      }
      else {
        pcVar57 = pcVar51 + 0xc;
        uVar39 = 0;
        iVar46 = 0;
        iVar10 = *(int *)(pcVar56 + 0x5392c);
        psVar43 = (sqlite3 *)0x3;
        bVar26 = 0;
        iVar11 = *(int *)(pcVar56 + 0x539b0);
        iVar12 = *(int *)(pcVar56 + 0x53a70);
        iVar13 = *(int *)(pcVar56 + 0x53950);
        do {
          psVar41 = *(sqlite3 **)pcVar57;
          if ((psStack_214 == (sqlite3_vfs *)0x0) &&
             (uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14)) {
            psVar44 = (sqlite3 *)&DAT_00000008;
            psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344);
            iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar41);
            if (iVar15 != 0) goto LAB_00107e50;
            if ((*(char *)&psVar41->pDfltColl < 0) ||
               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)
                != '\0')) goto LAB_00107e50;
            psVar44 = (sqlite3 *)&psStack_214;
            psVar31 = (sqlite3 *)((int)&psVar41->pDfltColl + 1);
            argv = psVar49;
            pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);
          }
          else {
LAB_00107e50:
            if (cVar2 == '4') {
              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;
              pVVar21 = (Vdbe *)0x0;
              psVar31 = psVar41;
              if (cVar1 == '=') {
LAB_001080a4:
                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);
                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);
                if (psVar20 == (sqlite3 *)0x0) {
                  pVStack_218 = (Vdbe *)&DAT_00000007;
                }
                else {
                  (*(code *)(iVar11 + 0x1120))(psVar20);
                  argv = (sqlite3 *)&psStack_20c;
                  piVar16 = (int *)(iVar10 + -0x5f24);
                  psVar31 = argv;
                  do {
                    piVar17 = piVar16 + 4;
                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;
                    pCVar32 = (CollSeq *)piVar16[2];
                    psVar42 = (sqlite3 *)piVar16[3];
                    psVar31->pVdbe = (Vdbe *)piVar16[1];
                    psVar31->pDfltColl = pCVar32;
                    psVar31->mutex = (sqlite3_mutex *)psVar42;
                    piVar16 = piVar17;
                    psVar31 = (sqlite3 *)&psVar31->aDb;
                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));
                  uVar14 = 0;
                  psVar31 = argv;
                  do {
                    if ((psVar31->pVdbe == pVVar21) &&
                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))
                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,
                                            pVVar21), iVar15 == 0)) {
                      if (uVar14 < 8) {
                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();
                        return;
                      }
                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);
                      if (iVar15 == 4) {
                        psVar41 = (sqlite3 *)&DAT_00000004;
                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);
                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);
                        if (iVar15 == 0) {
                          bVar26 = 1;
                          goto LAB_0010823c;
                        }
                      }
                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);
                      psVar41 = psVar20;
                      (*(code *)(iVar12 + 0x2618))(psVar49);
                      bVar26 = 1;
                      pVStack_218 = (Vdbe *)0x1;
                      goto LAB_0010823c;
                    }
                    uVar14 = uVar14 + 1;
                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;
                  } while (uVar14 != 8);
                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);
                  (*(code *)(iVar12 + 0x2618))(psVar49);
                  pVStack_218 = (Vdbe *)0x1;
LAB_0010823c:
                  (**(code **)(pcVar56 + 0x53974))(psVar20);
                  psVar44 = psVar41;
                }
                goto LAB_00107e88;
              }
              if (cVar1 == '\0') goto LAB_00107e5c;
              do {
                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);
                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;
                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);
                if (cVar1 == '=') goto LAB_001080a4;
                pcVar54 = *(code **)(pcVar56 + 0x53d18);
              } while (cVar1 != '\0');
            }
            else {
LAB_00107e5c:
              pcVar54 = *(code **)(pcVar56 + 0x53d18);
            }
            iVar15 = (*pcVar54)(psVar41);
            iVar46 = iVar46 + 1 + iVar15;
            piVar16 = piVar8 + uVar39;
            uVar39 = uVar39 + 1;
            *piVar16 = (int)psVar41;
          }
LAB_00107e88:
          psVar43 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1);
          if (pVStack_218 != (Vdbe *)0x0) {
            psVar43 = (sqlite3 *)0x0;
            iStack_278 = 0;
            goto LAB_00107f4c;
          }
          pcVar57 = pcVar57 + 4;
        } while (psVar35 != psVar43);
      }
      if (uVar39 == 0) {
        uVar39 = 1;
        iVar46 = 8;
        *piVar8 = *(int *)(pcVar56 + 0x5393c) + 0x6a48;
      }
      if (psStack_214 == (sqlite3_vfs *)0x0) {
        psVar44 = (sqlite3 *)&psStack_214;
        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3ef8);
        pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);
        argv = psVar49;
        if (pVStack_218 != (Vdbe *)0x0) {
          iStack_278 = 0;
          psVar43 = (sqlite3 *)0x0;
          goto LAB_00107f4c;
        }
      }
      psVar31 = (sqlite3 *)0x18;
      iStack_278 = (**(code **)(pcVar56 + 0x53ab4))(0);
      if (iStack_278 == 0) {
        iStack_278 = 0;
        psVar43 = (sqlite3 *)0x0;
        pVStack_218 = (Vdbe *)&DAT_00000007;
        goto LAB_00107f4c;
      }
      (**(code **)(pcVar56 + 0x53d08))(iStack_278,0,0x18);
      pVStack_218 = (Vdbe *)0x0;
      iVar5 = iVar5 + 1;
      psVar44 = (sqlite3 *)((uVar39 + 0x4e) * 4);
      psVar41 = (sqlite3 *)((int)psVar44->aLimit + iVar7 + 1 + iVar5 + uVar39 + iVar46 + -0x6c);
      psVar31 = psVar41;
      psVar43 = (sqlite3 *)(**(code **)(pcVar56 + 0x53ab4))(0);
      if (psVar43 == (sqlite3 *)0x0) {
        pVStack_218 = (Vdbe *)&DAT_00000007;
        goto LAB_00107f4c;
      }
      (**(code **)(pcVar56 + 0x53d08))(psVar43,0,psVar41);
      puVar28 = &(psVar43->lookaside).nSlot;
      psVar43->mDbFlags = uVar39;
      psVar43->mutex = (sqlite3_mutex *)psVar38;
      psVar43->pCollNeededArg = (void *)0x0;
      *(u32 **)&psVar43->field_0x1c = puVar28;
      *(sqlite3_vfs **)((int)&psVar43->flags + 4) = psStack_214;
      psVar43->xCollNeeded16 = (_func_void_void_ptr_sqlite3_ptr_int_void_ptr *)&LAB_00100000;
      if (cVar2 == '4') {
        bVar26 = bVar26 ^ 1;
      }
      else {
        bVar26 = 0;
      }
      *(byte *)((int)&psVar43->xUpdateCallback + 2) = bVar26;
      pcVar57 = *(code **)(pcVar56 + 0x53d84);
      pFVar18 = (Fts3Index *)(puVar28 + uVar39);
      *(u8 *)((int)&psVar43->xUpdateCallback + 3) = '\0';
      *(char **)&psVar43->lastRowid = (char *)0x0;
      *(char **)((int)&psVar43->lastRowid + 4) = (char *)0x0;
      psVar43->xCollNeeded = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr *)pFVar18;
      *(int *)&psVar43->szMmap = 0xff;
      *(bool *)((int)&psVar43->xUpdateCallback + 1) = cVar2 == '4';
      *(bool *)&psVar43->xUpdateCallback = cVar2 == '4';
      (*pcVar57)(pFVar18,iStack_278,0x18);
      psVar43->pWalArg = (void *)0x1;
      iVar46 = 0;
      iVar9 = 0;
      do {
        pFVar18 = (Fts3Index *)psVar43->xCollNeeded;
        iVar46 = iVar46 + 1;
        *(undefined2 *)(&(pFVar18->hPending).keyClass + iVar9) = 0x101;
        *(undefined4 *)((int)&(pFVar18->hPending).first + iVar9) = 0;
        *(undefined4 *)((int)&(pFVar18->hPending).count + iVar9) = 0;
        *(undefined4 *)((int)&(pFVar18->hPending).htsize + iVar9) = 0;
        *(undefined4 *)((int)&(pFVar18->hPending).ht + iVar9) = 0;
        iVar9 = iVar9 + 0x18;
      } while (iVar46 != 1);
      pcVar57 = *(code **)(pcVar56 + 0x53d84);
      pcVar47 = (char *)((int)&((Fts3Index *)psVar43->xCollNeeded)[1].nPrefix + uVar39);
      *(Fts3Index **)&psVar43->flags = (Fts3Index *)psVar43->xCollNeeded + 1;
      psVar43->nDb = (int)pcVar47;
      pDVar40 = (Db *)(pcVar47 + iVar7 + 1);
      pcVar55 = (char *)((int)&pDVar40->zDbSName + iVar5);
      (*pcVar57)(pcVar47,*(int *)(pcVar51 + 8));
      psVar43->aDb = pDVar40;
      (**(code **)(pcVar56 + 0x53d84))(pDVar40,*(int *)(pcVar51 + 4),iVar5);
      if (0 < (int)uVar39) {
        iVar7 = *(int *)(pcVar56 + 0x539b0);
        iVar9 = 0;
        iVar5 = *(int *)(pcVar56 + 0x539b0);
        do {
          pVStack_210 = (Vdbe *)0x0;
          uVar19 = (*(code *)(iVar5 + 0x273c))(*(undefined4 *)((int)piVar8 + iVar9),&pVStack_210);
          if (0 < (int)pVStack_210) {
            (**(code **)(pcVar56 + 0x53d84))(pcVar55,uVar19);
          }
          pcVar55[(int)pVStack_210] = '\0';
          (*(code *)(iVar7 + 0x1120))(pcVar55);
          puVar45 = (undefined4 *)((int)*(char ***)&psVar43->field_0x1c + iVar9);
          iVar9 = iVar9 + 4;
          *puVar45 = pcVar55;
          pcVar55 = pcVar55 + (int)((int)&pVStack_210->db + 1);
        } while (uVar39 * 4 != iVar9);
        uVar48 = 0;
        do {
          (**(code **)(pcVar56 + 0x53d18))((*(char ***)&psVar43->field_0x1c)[uVar48]);
          uVar48 = uVar48 + 1;
        } while (uVar48 != uVar39);
      }
      psVar41 = (sqlite3 *)&pVStack_210;
      pVStack_210 = (Vdbe *)0x0;
      if (*(char **)&psVar43->lastRowid == (char *)0x0) {
        iVar5 = *(int *)(pcVar56 + 0x5393c);
        pVStack_210 = (Vdbe *)0x0;
        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);
        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x3610);
        if (0 < (int)psVar43->mDbFlags) {
          iVar9 = *(int *)(pcVar56 + 0x53950);
          iVar7 = 0;
          do {
            iVar46 = iVar7 + 1;
            (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x3608,iVar5 + 0x53f4,iVar7,
                       (*(char ***)&psVar43->field_0x1c)[iVar7]);
            iVar7 = iVar46;
          } while (iVar46 < (int)psVar43->mDbFlags);
        }
        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {
          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8,
                     *(int *)(pcVar56 + 0x53950) + -0x3594);
        }
        (**(code **)(pcVar56 + 0x53974))(0);
      }
      else {
        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);
        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x7714);
        if (0 < (int)psVar43->mDbFlags) {
          iVar5 = *(int *)(pcVar56 + 0x53950);
          iVar7 = 0;
          do {
            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar7;
            iVar7 = iVar7 + 1;
            (*pcVar51)(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22);
          } while (iVar7 < (int)psVar43->mDbFlags);
        }
        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {
          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8);
        }
      }
      in_stack_fffffd68 = *(sqlite3_vtab ***)&psVar43->lastRowid;
      argv = (sqlite3 *)psVar43->aDb;
      if (in_stack_fffffd68 == (sqlite3_vtab **)0x0) {
        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;
        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x53950) + -14000);
      }
      else {
        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x5393c) + 0x53f4);
      }
      (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35e4);
      psVar43->pRollbackArg = pVStack_210;
      iVar5 = *(int *)(pcVar56 + 0x5393c);
      pVStack_210 = (Vdbe *)0x0;
      psVar31 = psVar41;
      (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x4774);
      if (0 < (int)psVar43->mDbFlags) {
        iVar9 = *(int *)(pcVar56 + 0x53950);
        iVar7 = 0;
        do {
          psVar31 = psVar41;
          argv = (sqlite3 *)(iVar5 + 0x53f4);
          (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x35cc);
          iVar7 = iVar7 + 1;
        } while (iVar7 < (int)psVar43->mDbFlags);
      }
      psVar44 = *(sqlite3 **)(pcVar56 + 0x53950);
      if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {
        psVar44 = (sqlite3 *)&psVar44[-0x1b].openFlags;
        psVar31 = psVar41;
        (*pcVar51)(&pVStack_218);
      }
      (**(code **)(pcVar56 + 0x53974))(0);
      psVar43->xRollbackCallback = (_func_void_void_ptr *)pVStack_210;
      if (pVStack_218 != (Vdbe *)0x0) goto LAB_00107f4c;
      if (psStack_1a0 == (sqlite3 *)0x0) {
        if (cVar2 != '4') {
          *(u8 *)((int)&psVar43->xUpdateCallback + 1) = '\x02';
        }
      }
      else {
        pVStack_210 = (Vdbe *)0x0;
        psVar20 = (sqlite3 *)psVar43->mutex;
        if (*(char **)&psVar43->lastRowid == (char *)0x0) {
          pcVar47 = *(char **)((int)&psVar43->lastRowid + 4);
          ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))
                                        (*(int *)(pcVar56 + 0x53950) + -0x35c0);
          if (ppcVar22 == (char **)0x0) {
LAB_00109454:
            ppcVar22 = (char **)0x0;
            pVStack_210 = (Vdbe *)&DAT_00000007;
          }
          else {
            iVar5 = *(int *)(pcVar56 + 0x53950);
            if (0 < (int)psVar43->mDbFlags) {
              iVar7 = 0;
              do {
                iVar9 = iVar7 + 1;
                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))
                                              (iVar5 + -0x35a4,ppcVar22,iVar7,
                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);
                if (ppcVar22 == (char **)0x0) goto LAB_00109454;
                iVar7 = iVar9;
              } while (iVar9 < (int)psVar43->mDbFlags);
            }
            if ((pcVar47 != (char *)0x0) &&
               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))
                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,
                                               pcVar47), ppcVar22 == (char **)0x0))
            goto LAB_00109454;
          }
          in_stack_fffffd6c = ppcVar22;
          fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x358c),
                     psVar43->aDb,(char *)psVar43->nDb);
          (**(code **)(pcVar56 + 0x53974))(ppcVar22);
        }
        fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x3568),
                   psVar43->aDb,(char *)psVar43->nDb);
        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;
        argv = (sqlite3 *)psVar43->aDb;
        psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3520);
        psVar31 = psVar20;
        fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);
        if (*(u8 *)((int)&psVar43->xUpdateCallback + 2) != '\0') {
          in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;
          argv = (sqlite3 *)psVar43->aDb;
          psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3484);
          fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);
          psVar31 = psVar20;
        }
        if (*(u8 *)((int)&psVar43->xUpdateCallback + 1) != '\0') {
          psVar31 = psVar43;
          sqlite3Fts3CreateStatTable((int *)psVar41,(Fts3Table *)psVar43);
        }
        pVStack_218 = pVStack_210;
        if (pVStack_210 != (Vdbe *)0x0) {
          psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;
          goto LAB_00107f4c;
        }
      }
      psVar31 = (sqlite3 *)psVar43->aDb;
      psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x33d4);
      if (psVar20 == (sqlite3 *)0x0) {
        (**(code **)(pcVar56 + 0x53974))(0);
        pVStack_218 = (Vdbe *)&DAT_00000007;
        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;
        goto LAB_00107f4c;
      }
      psVar44 = (sqlite3 *)0xffffffff;
      in_stack_fffffd68 = (sqlite3_vtab **)0x0;
      psVar31 = psVar20;
      pVVar21 = (Vdbe *)sqlite3_prepare((sqlite3 *)psVar43->mutex,(char *)psVar20,-1,
                                        (sqlite3_stmt **)psVar41,(char **)0x0);
      if (pVVar21 == (Vdbe *)0x0) {
        (**(code **)(pcVar56 + 0x53984))(pVStack_210);
        psVar31 = (sqlite3 *)0x0;
        p_Var23 = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64
                   *)(**(code **)(pcVar56 + 0x53998))(pVStack_210);
        psVar43->xPreUpdateCallback = p_Var23;
        pVVar21 = (Vdbe *)(**(code **)(pcVar56 + 0x53990))(pVStack_210);
        argv = psVar41;
LAB_001089a8:
        (**(code **)(pcVar56 + 0x53974))(psVar20);
        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;
        pVStack_218 = pVVar21;
        if (pVVar21 != (Vdbe *)0x0) goto LAB_00107f4c;
      }
      else {
        pcVar51 = *(code **)(pcVar56 + 0x53974);
        argv = psVar41;
        if (pVVar21 != (Vdbe *)&DAT_00000017) goto LAB_001089a8;
        psVar43->xPreUpdateCallback =
             (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *)
             0x400;
        (*pcVar51)(psVar20);
        pVStack_218 = (Vdbe *)0x0;
        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;
      }
      argv = *(sqlite3 **)((int)&psVar43->lastRowid + 4);
      if (argv == (sqlite3 *)0x0) {
        argv = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x36a4);
      }
      (**(code **)(pcVar56 + 0x53c10))((sqlite3 *)psVar43->mutex,1,1);
      psVar41 = (sqlite3 *)
                (**(code **)(pcVar56 + 0x5397c))
                          (*(int *)(pcVar56 + 0x53950) + -0x3440,**(char ***)&psVar43->field_0x1c);
      if (psVar41 == (sqlite3 *)0x0) {
LAB_00108a70:
        psVar31 = (sqlite3 *)0x0;
        psVar44 = (sqlite3 *)psVar43->nDb;
        psVar41 = (sqlite3 *)0x0;
        pVVar21 = (Vdbe *)&DAT_00000007;
        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)
        ;
      }
      else {
        iVar5 = 1;
        if (1 < (int)psVar43->mDbFlags) {
          iVar7 = *(int *)(pcVar56 + 0x53950);
          do {
            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar5;
            iVar5 = iVar5 + 1;
            psVar41 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)
            ;
            if (psVar41 == (sqlite3 *)0x0) goto LAB_00108a70;
          } while (iVar5 < (int)psVar43->mDbFlags);
        }
        psVar44 = (sqlite3 *)psVar43->nDb;
        psVar31 = psVar41;
        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)
        ;
        if (psVar20 == (sqlite3 *)0x0) {
          pVVar21 = (Vdbe *)&DAT_00000007;
        }
        else {
          psVar31 = psVar20;
          pVVar21 = (Vdbe *)sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20);
        }
      }
      (**(code **)(pcVar56 + 0x53974))(psVar20);
      (**(code **)(pcVar56 + 0x53974))(psVar41);
      pVStack_218 = pVVar21;
      goto LAB_00107f4c;
    }
  }
  psVar44 = psVar29;
  iStack_284 = 0;
  iStack_278 = 0;
  psVar43 = (sqlite3 *)0x0;
  pVStack_218 = (Vdbe *)&DAT_00000007;
LAB_00107f4c:
  (**(code **)(pcVar56 + 0x53974))(0);
  (**(code **)(pcVar56 + 0x53974))(iStack_278);
  (**(code **)(pcVar56 + 0x53974))(0);
  (**(code **)(pcVar56 + 0x53974))(0);
  (**(code **)(pcVar56 + 0x53974))(0);
  (**(code **)(pcVar56 + 0x53974))(0);
  (**(code **)(pcVar56 + 0x53974))(piVar8);
  (**(code **)(pcVar56 + 0x53974))(iStack_284);
  if (pVStack_218 == (Vdbe *)0x0) {
    *puStack_18c = psVar43;
  }
  else if (psVar43 == (sqlite3 *)0x0) {
    if (psStack_214 != (sqlite3_vfs *)0x0) {
      (*((sqlite3_tokenizer_module *)psStack_214->iVersion)->xDestroy)
                ((sqlite3_tokenizer *)psStack_214);
    }
  }
  else {
    (*(code *)(*(int *)(pcVar56 + 0x53a4c) + 0x585c))(psVar43);
  }
  if (psStack_1cc == (sqlite3 *)*piVar25) {
    return;
  }
  psVar43 = psStack_1cc;
  (**(code **)(pcVar56 + 0x53d64))();
  fts3InitVtab(0,psVar43,psVar31,(int)psVar44,(char **)argv,in_stack_fffffd68,in_stack_fffffd6c);
  return;
}



/* WARNING: Removing unreachable block (ram,0x00108664) */
/* WARNING: Removing unreachable block (ram,0x00108670) */
/* WARNING: Removing unreachable block (ram,0x00108680) */
/* WARNING: Removing unreachable block (ram,0x001086a4) */
/* WARNING: Removing unreachable block (ram,0x00108658) */
/* WARNING: Removing unreachable block (ram,0x001086d0) */
/* WARNING: Removing unreachable block (ram,0x00108880) */
/* WARNING: Removing unreachable block (ram,0x00108764) */
/* WARNING: Removing unreachable block (ram,0x001086ec) */
/* WARNING: Removing unreachable block (ram,0x00108710) */
/* WARNING: Removing unreachable block (ram,0x0010871c) */
/* WARNING: Removing unreachable block (ram,0x00108730) */
/* WARNING: Removing unreachable block (ram,0x001081b8) */
/* WARNING: Removing unreachable block (ram,0x00108cc8) */
/* WARNING: Removing unreachable block (ram,0x00108d00) */
/* WARNING: Removing unreachable block (ram,0x00109274) */
/* WARNING: Removing unreachable block (ram,0x00108d28) */
/* WARNING: Removing unreachable block (ram,0x00108d54) */
/* WARNING: Removing unreachable block (ram,0x00108d68) */
/* WARNING: Removing unreachable block (ram,0x00108da8) */
/* WARNING: Removing unreachable block (ram,0x00108dc8) */
/* WARNING: Removing unreachable block (ram,0x00108df4) */
/* WARNING: Removing unreachable block (ram,0x00108e4c) */
/* WARNING: Removing unreachable block (ram,0x00108df0) */
/* WARNING: Removing unreachable block (ram,0x00108d64) */
/* WARNING: Removing unreachable block (ram,0x00109540) */
/* WARNING: Removing unreachable block (ram,0x001093b0) */
/* WARNING: Removing unreachable block (ram,0x0010955c) */
/* WARNING: Removing unreachable block (ram,0x00109058) */
/* WARNING: Removing unreachable block (ram,0x00108e78) */
/* WARNING: Removing unreachable block (ram,0x00108e90) */
/* WARNING: Removing unreachable block (ram,0x00108e84) */
/* WARNING: Removing unreachable block (ram,0x001081dc) */
/* WARNING: Removing unreachable block (ram,0x001081e8) */
/* WARNING: Removing unreachable block (ram,0x00108ea8) */
/* WARNING: Removing unreachable block (ram,0x00108eb4) */
/* WARNING: Removing unreachable block (ram,0x00108eb8) */
/* WARNING: Removing unreachable block (ram,0x00108ec8) */
/* WARNING: Removing unreachable block (ram,0x00108ed4) */
/* WARNING: Removing unreachable block (ram,0x00108ee0) */
/* WARNING: Removing unreachable block (ram,0x001082d4) */
/* WARNING: Removing unreachable block (ram,0x00108b1c) */
/* WARNING: Removing unreachable block (ram,0x001090d8) */
/* WARNING: Removing unreachable block (ram,0x001082e0) */
/* WARNING: Removing unreachable block (ram,0x001082e8) */
/* WARNING: Removing unreachable block (ram,0x001082f0) */
/* WARNING: Removing unreachable block (ram,0x001082f4) */
/* WARNING: Removing unreachable block (ram,0x00108304) */
/* WARNING: Removing unreachable block (ram,0x00108328) */
/* WARNING: Removing unreachable block (ram,0x00108358) */
/* WARNING: Removing unreachable block (ram,0x00108370) */
/* WARNING: Removing unreachable block (ram,0x0010839c) */
/* WARNING: Removing unreachable block (ram,0x001083b0) */
/* WARNING: Removing unreachable block (ram,0x001083b8) */
/* WARNING: Removing unreachable block (ram,0x00108acc) */
/* WARNING: Removing unreachable block (ram,0x001083c0) */
/* WARNING: Removing unreachable block (ram,0x00108378) */
/* WARNING: Removing unreachable block (ram,0x00108ad4) */
/* WARNING: Removing unreachable block (ram,0x00108adc) */
/* WARNING: Removing unreachable block (ram,0x00108b10) */
/* WARNING: Removing unreachable block (ram,0x001083d4) */
/* WARNING: Removing unreachable block (ram,0x001083e0) */
/* WARNING: Removing unreachable block (ram,0x001083f0) */
/* WARNING: Removing unreachable block (ram,0x00108394) */
/* WARNING: Removing unreachable block (ram,0x0010875c) */
/* WARNING: Removing unreachable block (ram,0x0010926c) */
/* WARNING: Removing unreachable block (ram,0x0010876c) */
/* WARNING: Removing unreachable block (ram,0x00108bdc) */
/* WARNING: Removing unreachable block (ram,0x00107fb4) */
/* WARNING: Removing unreachable block (ram,0x00107fc8) */

code ****** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)

{
  char cVar1;
  byte bVar2;
  undefined *puVar3;
  int iVar4;
  code ******ppppppcVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  uint uVar12;
  int iVar13;
  uint *puVar14;
  undefined4 uVar15;
  int *piVar16;
  code ******ppppppcVar17;
  int *piVar18;
  code *****pppppcVar19;
  code cVar20;
  code ******ppppppcVar21;
  code *****pppppcVar22;
  code ******ppppppcVar23;
  undefined1 *puVar24;
  code *****pppppcVar25;
  code ******ppppppcVar26;
  int *piVar27;
  code ******ppppppcVar28;
  code *****pppppcVar29;
  uint *puVar30;
  code ******ppppppcVar31;
  code ******ppppppcVar32;
  code ******ppppppcVar33;
  code ****ppppcVar34;
  code ******ppppppcVar35;
  int iVar36;
  code ******unaff_s3;
  code *****pppppcVar37;
  code ******unaff_s5;
  code ******ppppppcVar38;
  code ******unaff_s6;
  code ******unaff_s7;
  undefined *puVar39;
  code *pcVar40;
  code *pcVar41;
  code ******unaff_s8;
  code *pcVar42;
  code *pcVar43;
  undefined8 uVar44;
  code *****in_stack_fffffd68;
  int in_stack_fffffd6c;
  int iStack_284;
  int iStack_278;
  code *****pppppcStack_218;
  code ****ppppcStack_214;
  code *****pppppcStack_210;
  code ****appppcStack_20c [16];
  int iStack_1cc;
  code *****pppppcStack_1c8;
  code *****pppppcStack_1c4;
  uint *puStack_1c0;
  code *****pppppcStack_1bc;
  code *****pppppcStack_1b8;
  code *****pppppcStack_1b4;
  code *****pppppcStack_1b0;
  code *****pppppcStack_1ac;
  code *****pppppcStack_1a8;
  code *pcStack_1a4;
  code *****pppppcStack_1a0;
  code *pcStack_190;
  undefined4 *puStack_18c;
  code *****pppppcStack_188;
  code ****ppppcStack_184;
  int *piStack_17c;
  code *****pppppcStack_178;
  code *****pppppcStack_174;
  code *****pppppcStack_170;
  code *****pppppcStack_16c;
  code *****pppppcStack_168;
  code *pcStack_164;
  undefined4 uStack_150;
  code *pcStack_148;
  code *****pppppcStack_140;
  code *pcStack_13c;
  int iStack_138;
  int iStack_134;
  code ****ppppcStack_12c;
  undefined1 auStack_128 [4];
  code ****ppppcStack_124;
  code *****pppppcStack_11c;
  code *****pppppcStack_118;
  code *****pppppcStack_114;
  code *****pppppcStack_110;
  code *****pppppcStack_10c;
  code *****pppppcStack_108;
  code *****pppppcStack_104;
  int iStack_e0;
  code *****pppppcStack_c8;
  code *****pppppcStack_c4;
  code ****ppppcStack_c0;
  code *****pppppcStack_bc;
  code *****pppppcStack_b8;
  code *****pppppcStack_b4;
  code *****pppppcStack_b0;
  code *pcStack_ac;
  code *pcStack_98;
  code *****pppppcStack_90;
  code *****pppppcStack_8c;
  code *****pppppcStack_84;
  uint *puStack_80;
  code *****pppppcStack_7c;
  code *****pppppcStack_78;
  code *****pppppcStack_50;
  code ****ppppcStack_4c;
  undefined *puStack_44;
  int *piStack_40;
  code *****local_18;
  code *****local_14;
  
  puVar3 = PTR___stack_chk_guard_0015ba2c;
  ppppppcVar21 = &local_18;
  local_14 = *(code ******)PTR___stack_chk_guard_0015ba2c;
  iVar4 = FUN_000f7f20();
  if (iVar4 == 0) {
    (*(code *)PTR_sqlite3_step_0015b630)(local_18);
    iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();
    param_2 = (code ******)local_18;
  }
  *param_1 = iVar4;
  ppppppcVar5 = *(code *******)puVar3;
  if ((code ******)local_14 == ppppppcVar5) {
    return ppppppcVar5;
  }
  puVar39 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  puStack_44 = puVar3;
  puVar30 = *(uint **)(puVar39 + 0x549c8);
  pppppcStack_50 = (code *****)0x0;
  ppppcStack_4c = (code ****)*puVar30;
  ppppppcVar5 = param_3;
  piStack_40 = param_1;
  (*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))();
  if (param_3 == (code ******)0x0) {
LAB_00107118:
    param_3 = *(code *******)(puVar39 + 0x5466c);
    if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;
    unaff_s3 = &pppppcStack_50;
    param_4 = (code ******)0x0;
    ppppppcVar21 = (code ******)0x3;
    param_3 = param_3 + 0x1bee;
    ppppppcVar5 = param_2;
    FUN_00106fb8(unaff_s3);
    if ((code ******)pppppcStack_50 == (code ******)0x0) {
      param_4 = (code ******)0x0;
      ppppppcVar21 = (code ******)&DAT_00000004;
      ppppppcVar5 = param_2;
      FUN_00106fb8(unaff_s3);
      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {
        param_4 = (code ******)0x0;
        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;
        ppppppcVar21 = (code ******)&DAT_00000005;
        ppppppcVar5 = param_2;
        FUN_00106fb8(unaff_s3);
      }
      goto LAB_0010719c;
    }
  }
  else {
    if ((code ******)pppppcStack_50 == (code ******)0x0) {
      param_4 = (code ******)0x0;
      ppppppcVar21 = (code ******)&SUB_00000002;
      ppppppcVar5 = param_2;
      FUN_00106fb8(&pppppcStack_50);
      goto LAB_00107118;
    }
LAB_001070c8:
    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {
LAB_0010719c:
      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&
         ((code ******)pppppcStack_50 == (code ******)0x0)) {
        param_4 = (code ******)0x0;
        ppppppcVar21 = (code ******)&DAT_00000006;
        ppppppcVar5 = param_2;
        FUN_00106fb8(&pppppcStack_50);
      }
    }
  }
LAB_001070d4:
  if ((code *****)ppppcStack_4c == (code *****)*puVar30) {
    return (code ******)pppppcStack_50;
  }
  pcVar40 = *(code **)(puVar39 + 0x549ac);
  pppppcVar25 = (code *****)ppppcStack_4c;
  (*pcVar40)();
  pcStack_98 = pcVar40 + 0x5c3d0;
  ppppppcVar31 = *(code *******)(pcVar40 + 0x5484c);
  pppppcStack_8c = *ppppppcVar31;
  pppppcStack_84 = (code *****)param_2;
  puStack_80 = puVar30;
  pppppcStack_7c = (code *****)param_3;
  pppppcStack_78 = (code *****)unaff_s3;
  if (pppppcVar25[10] == (code ****)0x0) {
    param_4 = ppppppcVar5 + 1;
    ppppppcVar38 = &pppppcStack_90;
    ppppppcVar17 = (code ******)0x12;
    ppppppcVar33 = (code ******)FUN_000f7f20();
    pppppcVar29 = pppppcStack_90;
    if (ppppppcVar33 == (code ******)0x0) {
      ppppcVar34 = pppppcVar25[6];
      if (pppppcVar25[0xb] != (code ****)0x0) {
        ppppppcVar38 = (code ******)
                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);
        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);
        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);
        unaff_s5 = (code ******)pppppcVar29;
        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;
        ppppcVar34 = pppppcVar25[6];
      }
      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);
      if (iVar4 == 5) {
LAB_001073c8:
        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);
        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);
        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);
        *(undefined8 *)ppppppcVar21 = uVar44;
      }
      else {
        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);
        if ((unaff_s5 == (code ******)&DAT_00000005) &&
           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {
          ppppppcVar33 = (code ******)0x1;
        }
        else {
          ppppppcVar17 = (code ******)0x1;
          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;
          ppppppcVar38 = (code ******)*ppppppcVar5;
          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);
          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;
        }
      }
    }
  }
  else {
    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];
    ppppppcVar17 = ppppppcVar5;
    ppppppcVar38 = ppppppcVar21;
    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);
    if (iVar4 == 5) {
      pppppcVar25 = ppppppcVar5[1];
      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);
    }
    else {
      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);
    }
    if (iVar4 == 1) {
      ppppppcVar33 = (code ******)0x0;
      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);
      *(undefined8 *)ppppppcVar21 = uVar44;
    }
    else {
      ppppppcVar33 = (code ******)&DAT_00000013;
    }
  }
LAB_00107278:
  if (pppppcStack_8c == *ppppppcVar31) {
    return ppppppcVar33;
  }
  pcVar40 = *(code **)(pcStack_98 + -0x7ba0);
  pcVar42 = FUN_00107430;
  ppppppcVar23 = (code ******)pppppcStack_8c;
  (*pcVar40)();
  ppppppcVar35 = *(code *******)(pcVar40 + 0x545fc);
  ppppppcVar26 = (code ******)*ppppppcVar23;
  pppppcStack_c4 = *ppppppcVar35;
  ppppppcVar32 = ppppppcVar23;
  ppppppcVar28 = ppppppcVar17;
  ppppcStack_c0 = (code ****)pppppcVar25;
  pppppcStack_bc = (code *****)ppppppcVar31;
  pppppcStack_b8 = (code *****)ppppppcVar33;
  pppppcStack_b4 = (code *****)ppppppcVar5;
  pppppcStack_b0 = (code *****)ppppppcVar21;
  pcStack_ac = pcVar42;
  if (ppppppcVar26 == (code ******)0x0) {
    pppppcVar25 = ppppppcVar17[6];
    param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);
    ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);
    ppppppcVar32 = (code ******)
                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |
                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +
                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *
                   2);
    ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();
    ppppppcVar21 = ppppppcVar23;
    if (ppppppcVar31 == (code ******)0x0) {
      *ppppppcVar23 = (code *****)0x7;
    }
    else {
      if (0 < (int)ppppppcVar17[6]) {
        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];
        ppppppcVar26 = (code ******)0x0;
        do {
          pppppcVar25 = *ppppppcVar38;
          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);
          do {
            pcVar43 = pcVar42;
            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);
            bVar2 = (byte)pppppcVar25;
            *pcVar43 = (code)(bVar2 | 0x80);
            pppppcVar25 = pppppcVar29;
            pcVar42 = pcVar43 + 1;
          } while (pppppcVar29 != (code *****)0x0);
          ppppppcVar38 = ppppppcVar38 + 1;
          *pcVar43 = (code)(bVar2 & 0x7f);
          ppppppcVar26 = (code ******)
                         ((int)ppppppcVar26 +
                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));
        } while (ppppppcVar5 != ppppppcVar38);
      }
      param_4 = (code ******)0x0;
      ppppppcVar38 = &pppppcStack_c8;
      ppppppcVar28 = (code ******)0x14;
      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);
      if (pppppcVar25 == (code *****)0x0) {
        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);
        ppppppcVar28 = (code ******)&SUB_00000002;
        iStack_e0 = *(int *)(pcVar40 + 0x541f0);
        ppppppcVar38 = ppppppcVar31;
        param_4 = ppppppcVar26;
        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);
        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);
        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();
        *ppppppcVar23 = pppppcVar25;
        ppppppcVar32 = (code ******)pppppcStack_c8;
      }
      else {
        ppppppcVar32 = ppppppcVar31;
        (**(code **)(pcVar40 + 0x541f0))();
        *ppppppcVar23 = pppppcVar25;
      }
    }
  }
  if (pppppcStack_c4 == *ppppppcVar35) {
    return (code ******)*ppppppcVar35;
  }
  pcVar40 = *(code **)(pcVar40 + 0x545e0);
  (*pcVar40)();
  pcStack_148 = pcVar40 + 0x5bf88;
  piVar27 = *(int **)(pcVar40 + 0x54404);
  pppppcStack_11c = (code *****)*piVar27;
  ppppppcVar5 = ppppppcVar32;
  ppppppcVar33 = ppppppcVar38;
  ppppppcVar23 = param_4;
  pppppcStack_118 = (code *****)ppppppcVar26;
  pppppcStack_114 = (code *****)ppppppcVar31;
  pppppcStack_110 = (code *****)ppppppcVar35;
  pppppcStack_10c = (code *****)ppppppcVar17;
  pppppcStack_108 = (code *****)ppppppcVar21;
  pppppcStack_104 = (code *****)unaff_s5;
  if (*ppppppcVar32 == (code *****)0x0) {
    ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);
    ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);
    ppppppcVar5 = (code ******)
                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |
                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -
                   ((int)ppppppcVar21 >> 0x1f)) -
                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);
    ppppppcVar35 = (code ******)
                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);
    ppppppcVar17 = ppppppcVar28;
    unaff_s5 = ppppppcVar38;
    unaff_s6 = param_4;
    if (ppppppcVar35 == (code ******)0x0) {
      *ppppppcVar32 = (code *****)0x7;
    }
    else {
      ppppppcVar33 = (code ******)&ppppcStack_12c;
      ppppppcVar23 = (code ******)0x0;
      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);
      pppppcStack_140 = (code *****)ppppppcVar33;
      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);
      ppppppcVar5 = ppppppcVar35;
      if (unaff_s8 == (code ******)0x0) {
        ppppppcVar33 = (code ******)0x0;
        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);
        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);
        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);
        if (iVar4 == 100) {
          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);
          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);
          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {
            ppppppcVar31 = (code ******)0x0;
            if (0 < (int)ppppppcVar21) goto LAB_001079ec;
            pcVar40 = *(code **)(pcStack_148 + -0x7f68);
          }
          else {
            pcVar40 = *(code **)(pcStack_148 + -0x7f68);
            if (0 < (int)ppppppcVar21) {
              ppppppcVar31 = (code ******)0x0;
              if (0 < iStack_134) {
                puVar24 = auStack_128;
                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);
                iVar4 = 0;
                ppppppcVar26 = ppppppcVar35;
                do {
                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);
                  iVar4 = iVar4 + iVar6;
                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);
                  *ppppppcVar26 = (code *****)ppppcStack_124;
                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;
                  ppppppcVar26 = ppppppcVar26 + 1;
                } while (iVar4 < iStack_134);
              }
LAB_001079ec:
              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;
              do {
                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);
                *ppppppcVar26 = (code *****)0x0;
                ppppppcVar26 = ppppppcVar26 + 1;
              } while ((int)ppppppcVar31 < (int)ppppppcVar21);
              pcVar40 = *(code **)(pcStack_148 + -0x7f68);
            }
          }
        }
        else {
          ppppppcVar33 = unaff_s7;
          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);
LAB_00107790:
          pcVar40 = *(code **)(pcStack_148 + -0x7f68);
        }
        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);
        if (unaff_s8 == (code ******)0x0) {
          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {
            pppppcVar25 = (code *****)0x0;
          }
          else {
            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);
          }
          *ppppppcVar35 = pppppcVar25;
          ppppppcVar31 = ppppppcVar35 + 1;
          if (-1 < (int)ppppppcVar28[6]) {
            iVar4 = 0;
            do {
              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {
                iVar4 = iVar4 + 1;
                *ppppppcVar31 = (code *****)0x0;
                ppppppcVar38 = ppppppcVar38 + 1;
                ppppppcVar31 = ppppppcVar31 + 1;
                param_4 = param_4 + 1;
                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;
              }
              iVar4 = iVar4 + 1;
              *ppppppcVar31 =
                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);
              ppppppcVar38 = ppppppcVar38 + 1;
              ppppppcVar31 = ppppppcVar31 + 1;
              param_4 = param_4 + 1;
            } while (iVar4 <= (int)ppppppcVar28[6]);
          }
LAB_00107834:
          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;
          ppppppcVar31 = (code ******)0x0;
          ppppppcVar33 = ppppppcVar35;
          if (0 < (int)ppppppcVar21) {
            do {
              pppppcVar25 = *ppppppcVar33;
              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);
              do {
                pcVar42 = pcVar40;
                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);
                bVar2 = (byte)pppppcVar25;
                *pcVar42 = (code)(bVar2 | 0x80);
                pppppcVar25 = pppppcVar29;
                pcVar40 = pcVar42 + 1;
              } while (pppppcVar29 != (code *****)0x0);
              ppppppcVar33 = ppppppcVar33 + 1;
              *pcVar42 = (code)(bVar2 & 0x7f);
              ppppppcVar31 = (code ******)
                             ((int)ppppppcVar31 +
                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));
              unaff_s8 = ppppppcVar31;
            } while (unaff_s7 != ppppppcVar33);
          }
          ppppppcVar23 = (code ******)0x0;
          ppppppcVar33 = (code ******)pppppcStack_140;
          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);
          unaff_s5 = ppppppcVar38;
          unaff_s6 = param_4;
          if (ppppppcVar31 == (code ******)0x0) {
            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);
            uStack_150 = 0;
            ppppppcVar33 = unaff_s7;
            ppppppcVar23 = unaff_s8;
            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);
            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);
            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);
            pcVar40 = *(code **)(pcStack_148 + -0x7dac);
            *ppppppcVar32 = pppppcVar25;
            (*pcVar40)(ppppcStack_12c,2);
            (**(code **)(pcStack_148 + -0x7f90))();
          }
          else {
            pppppcStack_140 = (code *****)ppppppcVar31;
            (**(code **)(pcStack_148 + -0x7f90))();
            *ppppppcVar32 = pppppcStack_140;
          }
          goto LAB_0010767c;
        }
      }
      (**(code **)(pcStack_148 + -0x7f90))();
      *ppppppcVar32 = (code *****)unaff_s8;
    }
  }
LAB_0010767c:
  if ((code ******)pppppcStack_11c == (code ******)*piVar27) {
    return (code ******)*piVar27;
  }
  pcVar40 = *(code **)(pcStack_148 + -0x7ba0);
  pcVar42 = FUN_00107a84;
  (*pcVar40)();
  pcStack_190 = pcVar40 + 0x5bb2c;
  puVar30 = *(uint **)(pcVar40 + 0x53fa8);
  ppppcStack_184 = (code ****)*puVar30;
  piStack_17c = piVar27;
  pppppcStack_178 = (code *****)ppppppcVar32;
  pppppcStack_174 = (code *****)ppppppcVar35;
  pppppcStack_170 = (code *****)ppppppcVar17;
  pppppcStack_16c = (code *****)ppppppcVar21;
  pppppcStack_168 = (code *****)unaff_s5;
  pcStack_164 = pcVar42;
  if (*(ushort *)(ppppppcVar5 + 1) < 2) {
    iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);
    if (iVar4 == 100) {
      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);
      ppppppcVar31 = (code ******)0x0;
      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;
    }
    else {
      pcVar40 = *(code **)(pcStack_190 + -0x7f68);
      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;
      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);
    }
  }
  else {
    ppppppcVar32 = (code ******)ppppppcVar5[4];
    pppppcStack_188 = (code *****)0x0;
    if (ppppppcVar32 == (code ******)0x0) {
      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;
    }
    else {
      iVar4 = *(int *)(pcVar40 + 0x53c4c);
      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);
      do {
        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {
          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);
        }
        if ((code ******)pppppcStack_188 == (code ******)0x0) {
          ppppppcVar33 = &pppppcStack_188;
          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);
        }
        cVar20 = *(code *)(ppppppcVar32 + 8);
        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;
        *(code *)((int)ppppppcVar5 + 6) = cVar20;
        ppppppcVar5[0x16] = (code *****)0x1;
        pppppcVar25 = ppppppcVar32[6];
        ppppppcVar5[9] = ppppppcVar32[7];
        ppppppcVar5[8] = pppppcVar25;
      } while ((cVar20 == (code)0x0) &&
              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));
      ppppppcVar31 = (code ******)pppppcStack_188;
      ppppppcVar17 = &pppppcStack_188;
      ppppppcVar21 = (code ******)(iVar4 + 0x5348);
      unaff_s5 = ppppppcVar38;
      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;
    }
    pppppcVar25 = ppppppcVar5[8];
    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {
      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {
        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;
        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {
          ppppppcVar31 = (code ******)0x0;
          goto LAB_00107b8c;
        }
      }
    }
    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&
            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {
LAB_00107c24:
      ppppppcVar31 = (code ******)0x0;
      goto LAB_00107b8c;
    }
    ppppppcVar31 = (code ******)0x0;
    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;
  }
LAB_00107b8c:
  if ((code *****)ppppcStack_184 == (code *****)*puVar30) {
    return ppppppcVar31;
  }
  pcVar42 = *(code **)(pcStack_190 + -0x7ba0);
  pcVar43 = FUN_00107cac;
  pppppcVar25 = (code *****)ppppcStack_184;
  (*pcVar42)();
  ppppppcVar38 = (code ******)pppppcStack_188;
  pcVar40 = pcStack_190;
  piVar18 = *(int **)(pcVar42 + 0x53d80);
  ppppppcVar28 = (code ******)((int)((int)ppppppcVar23 + -2) * 4);
  pppppcStack_218 = (code *****)0x0;
  iStack_1cc = *piVar18;
  cVar1 = *(char *)(*(int *)pcStack_190 + 3);
  ppppcStack_214 = (code ****)0x0;
  ppppppcVar26 = ppppppcVar33;
  ppppppcVar35 = ppppppcVar23;
  pppppcStack_1c8 = (code *****)ppppppcVar5;
  pppppcStack_1c4 = (code *****)ppppppcVar32;
  puStack_1c0 = puVar30;
  pppppcStack_1bc = (code *****)ppppppcVar17;
  pppppcStack_1b8 = (code *****)ppppppcVar21;
  pppppcStack_1b4 = (code *****)unaff_s5;
  pppppcStack_1b0 = (code *****)unaff_s6;
  pppppcStack_1ac = (code *****)unaff_s7;
  pppppcStack_1a8 = (code *****)unaff_s8;
  pcStack_1a4 = pcVar43;
  pppppcStack_1a0 = (code *****)ppppppcVar31;
  iVar4 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4));
  iVar6 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8));
  ppppppcVar21 = ppppppcVar28;
  piVar27 = (int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);
  if (piVar27 != (int *)0x0) {
    ppppppcVar26 = ppppppcVar28;
    (**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);
    ppppppcVar21 = ppppppcVar28;
    iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);
    if (iStack_284 != 0) {
      ppppppcVar21 = (code ******)0x0;
      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);
      if ((code ******)pppppcStack_218 != (code ******)0x0) {
        ppppppcVar5 = (code ******)0x0;
        iStack_278 = 0;
        goto LAB_00107f4c;
      }
      iVar7 = *(int *)(pcVar42 + 0x5393c);
      if ((int)ppppppcVar23 < 4) {
        pppppcVar29 = (code *****)0x0;
        iVar36 = 0;
        bVar2 = 0;
      }
      else {
        pcVar43 = pcVar40 + 0xc;
        pppppcVar29 = (code *****)0x0;
        iVar36 = 0;
        iVar8 = *(int *)(pcVar42 + 0x5392c);
        ppppppcVar5 = (code ******)0x3;
        bVar2 = 0;
        iVar9 = *(int *)(pcVar42 + 0x539b0);
        iVar10 = *(int *)(pcVar42 + 0x53a70);
        iVar11 = *(int *)(pcVar42 + 0x53950);
        do {
          ppppppcVar31 = *(code *******)pcVar43;
          if (((code *****)ppppcStack_214 == (code *****)0x0) &&
             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {
            ppppppcVar28 = (code ******)&DAT_00000008;
            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);
            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);
            if (iVar13 != 0) goto LAB_00107e50;
            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||
               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +
                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;
            ppppppcVar28 = (code ******)&ppppcStack_214;
            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);
            ppppppcVar35 = ppppppcVar38;
            pppppcStack_218 =
                 (code *****)
                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))
                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);
          }
          else {
LAB_00107e50:
            if (cVar1 == '4') {
              pppppcVar37 = (code *****)0x0;
              ppppppcVar21 = ppppppcVar31;
              if (*(code *)ppppppcVar31 == (code)0x3d) {
LAB_001080a4:
                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);
                ppppppcVar17 = (code ******)
                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);
                if (ppppppcVar17 == (code ******)0x0) {
                  pppppcStack_218 = (code *****)&DAT_00000007;
                }
                else {
                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);
                  ppppppcVar35 = (code ******)appppcStack_20c;
                  puVar30 = (uint *)(iVar8 + -0x5f24);
                  ppppppcVar21 = ppppppcVar35;
                  do {
                    puVar14 = puVar30 + 4;
                    *ppppppcVar21 = (code *****)*puVar30;
                    pppppcVar22 = (code *****)puVar30[2];
                    pppppcVar19 = (code *****)puVar30[3];
                    ppppppcVar21[1] = (code *****)puVar30[1];
                    ppppppcVar21[2] = pppppcVar22;
                    ppppppcVar21[3] = pppppcVar19;
                    puVar30 = puVar14;
                    ppppppcVar21 = ppppppcVar21 + 4;
                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));
                  uVar12 = 0;
                  ppppppcVar21 = ppppppcVar35;
                  do {
                    if ((ppppppcVar21[1] == pppppcVar37) &&
                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))
                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {
                      if (uVar12 < 8) {
                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                        ppppppcVar21 = (code ******)
                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904
                                         ))();
                        return ppppppcVar21;
                      }
                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);
                      if (iVar13 == 4) {
                        ppppppcVar31 = (code ******)&DAT_00000004;
                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);
                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);
                        if (iVar13 == 0) {
                          bVar2 = 1;
                          goto LAB_0010823c;
                        }
                      }
                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);
                      ppppppcVar31 = ppppppcVar17;
                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);
                      bVar2 = 1;
                      pppppcStack_218 = (code *****)0x1;
                      goto LAB_0010823c;
                    }
                    uVar12 = uVar12 + 1;
                    ppppppcVar21 = ppppppcVar21 + 2;
                  } while (uVar12 != 8);
                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);
                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);
                  pppppcStack_218 = (code *****)0x1;
LAB_0010823c:
                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);
                  ppppppcVar28 = ppppppcVar31;
                }
                goto LAB_00107e88;
              }
              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;
              do {
                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);
                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);
                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;
                pcVar41 = *(code **)(pcVar42 + 0x53d18);
              } while (*(code *)ppppppcVar21 != (code)0x0);
            }
            else {
LAB_00107e5c:
              pcVar41 = *(code **)(pcVar42 + 0x53d18);
            }
            iVar13 = (*pcVar41)(ppppppcVar31);
            iVar36 = iVar36 + 1 + iVar13;
            piVar16 = piVar27 + (int)pppppcVar29;
            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);
            *piVar16 = (int)ppppppcVar31;
          }
LAB_00107e88:
          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);
          if ((code ******)pppppcStack_218 != (code ******)0x0) {
            ppppppcVar5 = (code ******)0x0;
            iStack_278 = 0;
            goto LAB_00107f4c;
          }
          pcVar43 = pcVar43 + 4;
        } while (ppppppcVar23 != ppppppcVar5);
      }
      if (pppppcVar29 == (code *****)0x0) {
        pppppcVar29 = (code *****)0x1;
        iVar36 = 8;
        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;
      }
      if ((code *****)ppppcStack_214 == (code *****)0x0) {
        ppppppcVar28 = (code ******)&ppppcStack_214;
        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);
        pppppcStack_218 =
             (code *****)
             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))
                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);
        ppppppcVar35 = ppppppcVar38;
        if ((code ******)pppppcStack_218 != (code ******)0x0) {
          iStack_278 = 0;
          ppppppcVar5 = (code ******)0x0;
          goto LAB_00107f4c;
        }
      }
      ppppppcVar21 = (code ******)0x18;
      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);
      if (iStack_278 == 0) {
        iStack_278 = 0;
        ppppppcVar5 = (code ******)0x0;
        pppppcStack_218 = (code *****)&DAT_00000007;
        goto LAB_00107f4c;
      }
      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);
      pppppcStack_218 = (code *****)0x0;
      iVar4 = iVar4 + 1;
      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);
      ppppppcVar31 = (code ******)
                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);
      ppppppcVar21 = ppppppcVar31;
      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);
      if (ppppppcVar5 == (code ******)0x0) {
        pppppcStack_218 = (code *****)&DAT_00000007;
        goto LAB_00107f4c;
      }
      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);
      ppppppcVar21 = ppppppcVar5 + 0x48;
      ppppppcVar5[6] = pppppcVar29;
      ppppppcVar5[3] = pppppcVar25;
      ppppppcVar5[0x42] = (code *****)0x0;
      ppppppcVar5[7] = (code *****)ppppppcVar21;
      ppppppcVar5[9] = (code *****)ppppcStack_214;
      ppppppcVar5[0x41] = (code *****)0x100000;
      if (cVar1 == '4') {
        cVar20 = (code)(bVar2 ^ 1);
      }
      else {
        cVar20 = (code)0x0;
      }
      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;
      pcVar43 = *(code **)(pcVar42 + 0x53d84);
      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;
      ppppppcVar5[10] = (code *****)0x0;
      ppppppcVar5[0xb] = (code *****)0x0;
      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);
      ppppppcVar5[0xc] = (code *****)0xff;
      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';
      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';
      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);
      ppppppcVar5[0x3f] = (code *****)0x1;
      iVar36 = 0;
      iVar7 = 0;
      do {
        pppppcVar25 = ppppppcVar5[0x40];
        iVar36 = iVar36 + 1;
        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;
        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;
        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;
        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;
        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;
        iVar7 = iVar7 + 0x18;
      } while (iVar36 != 1);
      pcVar43 = *(code **)(pcVar42 + 0x53d84);
      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);
      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;
      ppppppcVar5[5] = pppppcVar25;
      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);
      iVar6 = (int)pppppcVar37 + iVar4;
      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));
      ppppppcVar5[4] = pppppcVar37;
      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);
      if (0 < (int)pppppcVar29) {
        iVar7 = *(int *)(pcVar42 + 0x539b0);
        iVar36 = 0;
        iVar4 = *(int *)(pcVar42 + 0x539b0);
        do {
          pppppcStack_210 = (code *****)0x0;
          uVar15 = (*(code *)(iVar4 + 0x273c))
                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);
          if (0 < (int)pppppcStack_210) {
            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);
          }
          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;
          (*(code *)(iVar7 + 0x1120))(iVar6);
          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);
          iVar36 = iVar36 + 4;
          *piVar16 = iVar6;
          iVar6 = (int)pppppcStack_210 + iVar6 + 1;
        } while ((int)pppppcVar29 * 4 != iVar36);
        pppppcVar25 = (code *****)0x0;
        do {
          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);
          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);
        } while (pppppcVar25 != pppppcVar29);
      }
      ppppppcVar31 = &pppppcStack_210;
      pppppcStack_210 = (code *****)0x0;
      if (ppppppcVar5[10] == (code *****)0x0) {
        iVar4 = *(int *)(pcVar42 + 0x5393c);
        pppppcStack_210 = (code *****)0x0;
        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);
        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);
        if (0 < (int)ppppppcVar5[6]) {
          iVar7 = *(int *)(pcVar42 + 0x53950);
          iVar6 = 0;
          do {
            iVar36 = iVar6 + 1;
            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,
                       ppppppcVar5[7][iVar6]);
            iVar6 = iVar36;
          } while (iVar36 < (int)ppppppcVar5[6]);
        }
        if (ppppppcVar5[0xb] != (code *****)0x0) {
          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,
                     *(int *)(pcVar42 + 0x53950) + -0x3594);
        }
        (**(code **)(pcVar42 + 0x53974))(0);
      }
      else {
        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);
        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);
        if (0 < (int)ppppppcVar5[6]) {
          iVar4 = *(int *)(pcVar42 + 0x53950);
          iVar6 = 0;
          do {
            pppppcVar25 = ppppppcVar5[7] + iVar6;
            iVar6 = iVar6 + 1;
            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);
          } while (iVar6 < (int)ppppppcVar5[6]);
        }
        if (ppppppcVar5[0xb] != (code *****)0x0) {
          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);
        }
      }
      in_stack_fffffd68 = ppppppcVar5[10];
      ppppppcVar35 = (code ******)ppppppcVar5[4];
      if (in_stack_fffffd68 == (code *****)0x0) {
        in_stack_fffffd68 = ppppppcVar5[5];
        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;
      }
      else {
        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;
      }
      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,
                 in_stack_fffffd68,in_stack_fffffd6c);
      ppppppcVar5[0x37] = pppppcStack_210;
      iVar4 = *(int *)(pcVar42 + 0x5393c);
      pppppcStack_210 = (code *****)0x0;
      ppppppcVar21 = ppppppcVar31;
      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);
      if (0 < (int)ppppppcVar5[6]) {
        iVar7 = *(int *)(pcVar42 + 0x53950);
        iVar6 = 0;
        do {
          ppppppcVar21 = ppppppcVar31;
          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);
          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);
          iVar6 = iVar6 + 1;
        } while (iVar6 < (int)ppppppcVar5[6]);
      }
      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);
      if (ppppppcVar5[0xb] != (code *****)0x0) {
        ppppppcVar28 = ppppppcVar28 + -0xd71;
        ppppppcVar21 = ppppppcVar31;
        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);
      }
      (**(code **)(pcVar42 + 0x53974))(0);
      ppppppcVar5[0x38] = pppppcStack_210;
      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;
      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {
        if (cVar1 != '4') {
          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;
        }
      }
      else {
        pppppcStack_210 = (code *****)0x0;
        ppppppcVar17 = (code ******)ppppppcVar5[3];
        if (ppppppcVar5[10] == (code *****)0x0) {
          pppppcVar25 = ppppppcVar5[0xb];
          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);
          if (iVar4 == 0) {
LAB_00109454:
            iVar4 = 0;
            pppppcStack_210 = (code *****)&DAT_00000007;
          }
          else {
            iVar6 = *(int *)(pcVar42 + 0x53950);
            if (0 < (int)ppppppcVar5[6]) {
              iVar7 = 0;
              do {
                iVar36 = iVar7 + 1;
                iVar4 = (**(code **)(pcVar42 + 0x5397c))
                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);
                if (iVar4 == 0) goto LAB_00109454;
                iVar7 = iVar36;
              } while (iVar36 < (int)ppppppcVar5[6]);
            }
            if ((pppppcVar25 != (code *****)0x0) &&
               (iVar4 = (**(code **)(pcVar42 + 0x5397c))
                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),
               iVar4 == 0)) goto LAB_00109454;
          }
          in_stack_fffffd6c = iVar4;
          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,
                       ppppppcVar5[4],ppppppcVar5[5],iVar4);
          (**(code **)(pcVar42 + 0x53974))(iVar4);
        }
        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],
                     ppppppcVar5[5]);
        in_stack_fffffd68 = ppppppcVar5[5];
        ppppppcVar35 = (code ******)ppppppcVar5[4];
        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);
        ppppppcVar21 = ppppppcVar17;
        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);
        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {
          in_stack_fffffd68 = ppppppcVar5[5];
          ppppppcVar35 = (code ******)ppppppcVar5[4];
          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);
          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);
          ppppppcVar21 = ppppppcVar17;
        }
        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {
          ppppppcVar21 = ppppppcVar5;
          FUN_00100a58(ppppppcVar31,ppppppcVar5);
        }
        pppppcStack_218 = pppppcStack_210;
        if ((code ******)pppppcStack_210 != (code ******)0x0) {
          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);
          goto LAB_00107f4c;
        }
      }
      ppppppcVar21 = (code ******)ppppppcVar5[4];
      ppppppcVar17 = (code ******)
                     (**(code **)(pcVar42 + 0x5397c))
                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);
      if (ppppppcVar17 == (code ******)0x0) {
        (**(code **)(pcVar42 + 0x53974))(0);
        pppppcStack_218 = (code *****)&DAT_00000007;
        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);
        goto LAB_00107f4c;
      }
      ppppppcVar28 = (code ******)0xffffffff;
      in_stack_fffffd68 = (code *****)0x0;
      ppppppcVar21 = ppppppcVar17;
      ppppppcVar38 = (code ******)
                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);
      if (ppppppcVar38 == (code ******)0x0) {
        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);
        ppppppcVar21 = (code ******)0x0;
        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);
        ppppppcVar5[0x3c] = pppppcVar25;
        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);
        ppppppcVar35 = ppppppcVar31;
LAB_001089a8:
        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);
        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);
        pppppcStack_218 = (code *****)ppppppcVar38;
        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;
      }
      else {
        pcVar40 = *(code **)(pcVar42 + 0x53974);
        ppppppcVar35 = ppppppcVar31;
        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;
        ppppppcVar5[0x3c] = (code *****)0x400;
        (*pcVar40)(ppppppcVar17);
        pppppcStack_218 = (code *****)0x0;
        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);
      }
      ppppppcVar35 = (code ******)ppppppcVar5[0xb];
      if (ppppppcVar35 == (code ******)0x0) {
        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);
      }
      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);
      ppppppcVar31 = (code ******)
                     (**(code **)(pcVar42 + 0x5397c))
                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);
      if (ppppppcVar31 == (code ******)0x0) {
LAB_00108a70:
        ppppppcVar21 = (code ******)0x0;
        ppppppcVar28 = (code ******)ppppppcVar5[5];
        ppppppcVar31 = (code ******)0x0;
        ppppppcVar38 = (code ******)&DAT_00000007;
        ppppppcVar17 = (code ******)
                       (**(code **)(pcVar42 + 0x5397c))
                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);
      }
      else {
        iVar4 = 1;
        if (1 < (int)ppppppcVar5[6]) {
          iVar6 = *(int *)(pcVar42 + 0x53950);
          do {
            pppppcVar25 = ppppppcVar5[7] + iVar4;
            iVar4 = iVar4 + 1;
            ppppppcVar31 = (code ******)
                           (**(code **)(pcVar42 + 0x5397c))
                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);
            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;
          } while (iVar4 < (int)ppppppcVar5[6]);
        }
        ppppppcVar28 = (code ******)ppppppcVar5[5];
        ppppppcVar21 = ppppppcVar31;
        ppppppcVar17 = (code ******)
                       (**(code **)(pcVar42 + 0x5397c))
                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);
        if (ppppppcVar17 == (code ******)0x0) {
          ppppppcVar38 = (code ******)&DAT_00000007;
        }
        else {
          ppppppcVar21 = ppppppcVar17;
          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);
        }
      }
      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);
      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);
      pppppcStack_218 = (code *****)ppppppcVar38;
      goto LAB_00107f4c;
    }
  }
  ppppppcVar28 = ppppppcVar26;
  iStack_284 = 0;
  iStack_278 = 0;
  ppppppcVar5 = (code ******)0x0;
  pppppcStack_218 = (code *****)&DAT_00000007;
LAB_00107f4c:
  (**(code **)(pcVar42 + 0x53974))(0);
  (**(code **)(pcVar42 + 0x53974))(iStack_278);
  (**(code **)(pcVar42 + 0x53974))(0);
  (**(code **)(pcVar42 + 0x53974))(0);
  (**(code **)(pcVar42 + 0x53974))(0);
  (**(code **)(pcVar42 + 0x53974))(0);
  (**(code **)(pcVar42 + 0x53974))(piVar27);
  (**(code **)(pcVar42 + 0x53974))(iStack_284);
  if ((code ******)pppppcStack_218 == (code ******)0x0) {
    *puStack_18c = ppppppcVar5;
  }
  else if (ppppppcVar5 == (code ******)0x0) {
    if ((code *****)ppppcStack_214 != (code *****)0x0) {
      (*(code *)(*ppppcStack_214)[2])();
    }
  }
  else {
    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);
  }
  if (iStack_1cc == *piVar18) {
    return (code ******)pppppcStack_218;
  }
  iVar4 = iStack_1cc;
  (**(code **)(pcVar42 + 0x53d64))();
  ppppppcVar21 = (code ******)
                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,
                              in_stack_fffffd6c);
  return ppppppcVar21;
}


lui gp,0x6
addiu gp,gp,-0x3a08
addu gp,gp,t9
addiu sp,sp,-0x30
lw t9,-0x7d30(gp)
or v1,a1,zero
or a1,a2,zero
sw s0,0x24(sp)
addiu a2,sp,0x18
sw gp,0x10(sp)
addiu t9,t9,0x7f20
sw s1,0x28(sp)
or s1,a0,zero
sw ra,0x2c(sp)
or a0,v1,zero
lw s0,-0x7b84(gp)
lw v0,0x0(s0)
sw v0,0x1c(sp)
bal 0x000f7f20
_nop
beq v0,zero,0x00107034
_lw gp,0x10(sp)
lw v1,0x1c(sp)
sw v0,0x0(s1)
lw v0,0x0(s0)
bne v1,v0,0x00107058
_lw ra,0x2c(sp)
lw s1,0x28(sp)
lw s0,0x24(sp)
jr ra
_addiu sp,sp,0x30
lw t9,-0x7f80(gp)
jalr t9
_lw a0,0x18(sp)
lw gp,0x10(sp)
lw t9,-0x7f68(gp)
jalr t9
_lw a0,0x18(sp)
b 0x00107010
_lw gp,0x10(sp)
lw t9,-0x7ba0(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Removing unreachable block (ram,0x00108664) */\n/* WARNING: Removing unreachable block (ram,0x00108670) */\n/* WARNING: Removing unreachable block (ram,0x00108680) */\n/* WARNING: Removing unreachable block (ram,0x001086a4) */\n/* WARNING: Removing unreachable block (ram,0x00108658) */\n/* WARNING: Removing unreachable block (ram,0x001086d0) */\n/* WARNING: Removing unreachable block (ram,0x00108880) */\n/* WARNING: Removing unreachable block (ram,0x00108764) */\n/* WARNING: Removing unreachable block (ram,0x001086ec) */\n/* WARNING: Removing unreachable block (ram,0x00108710) */\n/* WARNING: Removing unreachable block (ram,0x0010871c) */\n/* WARNING: Removing unreachable block (ram,0x00108730) */\n/* WARNING: Removing unreachable block (ram,0x001081b8) */\n/* WARNING: Removing unreachable block (ram,0x00108cc8) */\n/* WARNING: Removing unreachable block (ram,0x00108d00) */\n/* WARNING: Removing unreachable block (ram,0x00109274) */\n/* WARNING: Removing unreachable block (ram,0x00108d28) */\n/* WARNING: Removing unreachable block (ram,0x00108d54) */\n/* WARNING: Removing unreachable block (ram,0x00108d68) */\n/* WARNING: Removing unreachable block (ram,0x00108da8) */\n/* WARNING: Removing unreachable block (ram,0x00108dc8) */\n/* WARNING: Removing unreachable block (ram,0x00108df4) */\n/* WARNING: Removing unreachable block (ram,0x00108e4c) */\n/* WARNING: Removing unreachable block (ram,0x00108df0) */\n/* WARNING: Removing unreachable block (ram,0x00108d64) */\n/* WARNING: Removing unreachable block (ram,0x00109540) */\n/* WARNING: Removing unreachable block (ram,0x001093b0) */\n/* WARNING: Removing unreachable block (ram,0x0010955c) */\n/* WARNING: Removing unreachable block (ram,0x00109058) */\n/* WARNING: Removing unreachable block (ram,0x00108e78) */\n/* WARNING: Removing unreachable block (ram,0x00108e90) */\n/* WARNING: Removing unreachable block (ram,0x00108e84) */\n/* WARNING: Removing unreachable block (ram,0x001081dc) */\n/* WARNING: Removing unreachable block (ram,0x001081e8) */\n/* WARNING: Removing unreachable block (ram,0x00108ea8) */\n/* WARNING: Removing unreachable block (ram,0x00108eb4) */\n/* WARNING: Removing unreachable block (ram,0x00108eb8) */\n/* WARNING: Removing unreachable block (ram,0x00108ec8) */\n/* WARNING: Removing unreachable block (ram,0x00108ed4) */\n/* WARNING: Removing unreachable block (ram,0x00108ee0) */\n/* WARNING: Removing unreachable block (ram,0x001082d4) */\n/* WARNING: Removing unreachable block (ram,0x00108b1c) */\n/* WARNING: Removing unreachable block (ram,0x001090d8) */\n/* WARNING: Removing unreachable block (ram,0x001082e0) */\n/* WARNING: Removing unreachable block (ram,0x001082e8) */\n/* WARNING: Removing unreachable block (ram,0x001082f0) */\n/* WARNING: Removing unreachable block (ram,0x001082f4) */\n/* WARNING: Removing unreachable block (ram,0x00108304) */\n/* WARNING: Removing unreachable block (ram,0x00108328) */\n/* WARNING: Removing unreachable block (ram,0x00108358) */\n/* WARNING: Removing unreachable block (ram,0x00108370) */\n/* WARNING: Removing unreachable block (ram,0x0010839c) */\n/* WARNING: Removing unreachable block (ram,0x001083b0) */\n/* WARNING: Removing unreachable block (ram,0x001083b8) */\n/* WARNING: Removing unreachable block (ram,0x00108acc) */\n/* WARNING: Removing unreachable block (ram,0x001083c0) */\n/* WARNING: Removing unreachable block (ram,0x00108378) */\n/* WARNING: Removing unreachable block (ram,0x00108ad4) */\n/* WARNING: Removing unreachable block (ram,0x00108adc) */\n/* WARNING: Removing unreachable block (ram,0x00108b10) */\n/* WARNING: Removing unreachable block (ram,0x001083d4) */\n/* WARNING: Removing unreachable block (ram,0x001083e0) */\n/* WARNING: Removing unreachable block (ram,0x001083f0) */\n/* WARNING: Removing unreachable block (ram,0x00108394) */\n/* WARNING: Removing unreachable block (ram,0x0010875c) */\n/* WARNING: Removing unreachable block (ram,0x0010926c) */\n/* WARNING: Removing unreachable block (ram,0x0010876c) */\n/* WARNING: Removing unreachable block (ram,0x00108bdc) */\n/* WARNING: Removing unreachable block (ram,0x00107fb4) */\n/* WARNING: Removing unreachable block (ram,0x00107fc8) */\n\ncode ****** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  undefined *puVar3;\n  int iVar4;\n  code ******ppppppcVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  int iVar13;\n  uint *puVar14;\n  undefined4 uVar15;\n  int *piVar16;\n  code ******ppppppcVar17;\n  int *piVar18;\n  code *****pppppcVar19;\n  code cVar20;\n  code ******ppppppcVar21;\n  code *****pppppcVar22;\n  code ******ppppppcVar23;\n  undefined1 *puVar24;\n  code *****pppppcVar25;\n  code ******ppppppcVar26;\n  int *piVar27;\n  code ******ppppppcVar28;\n  code *****pppppcVar29;\n  uint *puVar30;\n  code ******ppppppcVar31;\n  code ******ppppppcVar32;\n  code ******ppppppcVar33;\n  code ****ppppcVar34;\n  code ******ppppppcVar35;\n  int iVar36;\n  code ******unaff_s3;\n  code *****pppppcVar37;\n  code ******unaff_s5;\n  code ******ppppppcVar38;\n  code ******unaff_s6;\n  code ******unaff_s7;\n  undefined *puVar39;\n  code *pcVar40;\n  code *pcVar41;\n  code ******unaff_s8;\n  code *pcVar42;\n  code *pcVar43;\n  undefined8 uVar44;\n  code *****in_stack_fffffd68;\n  int in_stack_fffffd6c;\n  int iStack_284;\n  int iStack_278;\n  code *****pppppcStack_218;\n  code ****ppppcStack_214;\n  code *****pppppcStack_210;\n  code ****appppcStack_20c [16];\n  int iStack_1cc;\n  code *****pppppcStack_1c8;\n  code *****pppppcStack_1c4;\n  uint *puStack_1c0;\n  code *****pppppcStack_1bc;\n  code *****pppppcStack_1b8;\n  code *****pppppcStack_1b4;\n  code *****pppppcStack_1b0;\n  code *****pppppcStack_1ac;\n  code *****pppppcStack_1a8;\n  code *pcStack_1a4;\n  code *****pppppcStack_1a0;\n  code *pcStack_190;\n  undefined4 *puStack_18c;\n  code *****pppppcStack_188;\n  code ****ppppcStack_184;\n  int *piStack_17c;\n  code *****pppppcStack_178;\n  code *****pppppcStack_174;\n  code *****pppppcStack_170;\n  code *****pppppcStack_16c;\n  code *****pppppcStack_168;\n  code *pcStack_164;\n  undefined4 uStack_150;\n  code *pcStack_148;\n  code *****pppppcStack_140;\n  code *pcStack_13c;\n  int iStack_138;\n  int iStack_134;\n  code ****ppppcStack_12c;\n  undefined1 auStack_128 [4];\n  code ****ppppcStack_124;\n  code *****pppppcStack_11c;\n  code *****pppppcStack_118;\n  code *****pppppcStack_114;\n  code *****pppppcStack_110;\n  code *****pppppcStack_10c;\n  code *****pppppcStack_108;\n  code *****pppppcStack_104;\n  int iStack_e0;\n  code *****pppppcStack_c8;\n  code *****pppppcStack_c4;\n  code ****ppppcStack_c0;\n  code *****pppppcStack_bc;\n  code *****pppppcStack_b8;\n  code *****pppppcStack_b4;\n  code *****pppppcStack_b0;\n  code *pcStack_ac;\n  code *pcStack_98;\n  code *****pppppcStack_90;\n  code *****pppppcStack_8c;\n  code *****pppppcStack_84;\n  uint *puStack_80;\n  code *****pppppcStack_7c;\n  code *****pppppcStack_78;\n  code *****pppppcStack_50;\n  code ****ppppcStack_4c;\n  undefined *puStack_44;\n  int *piStack_40;\n  code *****local_18;\n  code *****local_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  ppppppcVar21 = &local_18;\n  local_14 = *(code ******)PTR___stack_chk_guard_0015ba2c;\n  iVar4 = FUN_000f7f20();\n  if (iVar4 == 0) {\n    (*(code *)PTR_sqlite3_step_0015b630)(local_18);\n    iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    param_2 = (code ******)local_18;\n  }\n  *param_1 = iVar4;\n  ppppppcVar5 = *(code *******)puVar3;\n  if ((code ******)local_14 == ppppppcVar5) {\n    return ppppppcVar5;\n  }\n  puVar39 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_44 = puVar3;\n  puVar30 = *(uint **)(puVar39 + 0x549c8);\n  pppppcStack_50 = (code *****)0x0;\n  ppppcStack_4c = (code ****)*puVar30;\n  ppppppcVar5 = param_3;\n  piStack_40 = param_1;\n  (*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))();\n  if (param_3 == (code ******)0x0) {\nLAB_00107118:\n    param_3 = *(code *******)(puVar39 + 0x5466c);\n    if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;\n    unaff_s3 = &pppppcStack_50;\n    param_4 = (code ******)0x0;\n    ppppppcVar21 = (code ******)0x3;\n    param_3 = param_3 + 0x1bee;\n    ppppppcVar5 = param_2;\n    FUN_00106fb8(unaff_s3);\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }\n  }\n  else {\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }\n  }\nLAB_001070d4:\n  if ((code *****)ppppcStack_4c == (code *****)*puVar30) {\n    return (code ******)pppppcStack_50;\n  }\n  pcVar40 = *(code **)(puVar39 + 0x549ac);\n  pppppcVar25 = (code *****)ppppcStack_4c;\n  (*pcVar40)();\n  pcStack_98 = pcVar40 + 0x5c3d0;\n  ppppppcVar31 = *(code *******)(pcVar40 + 0x5484c);\n  pppppcStack_8c = *ppppppcVar31;\n  pppppcStack_84 = (code *****)param_2;\n  puStack_80 = puVar30;\n  pppppcStack_7c = (code *****)param_3;\n  pppppcStack_78 = (code *****)unaff_s3;\n  if (pppppcVar25[10] == (code ****)0x0) {\n    param_4 = ppppppcVar5 + 1;\n    ppppppcVar38 = &pppppcStack_90;\n    ppppppcVar17 = (code ******)0x12;\n    ppppppcVar33 = (code ******)FUN_000f7f20();\n    pppppcVar29 = pppppcStack_90;\n    if (ppppppcVar33 == (code ******)0x0) {\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];\n    ppppppcVar17 = ppppppcVar5;\n    ppppppcVar38 = ppppppcVar21;\n    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);\n    if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }\n  }\nLAB_00107278:\n  if (pppppcStack_8c == *ppppppcVar31) {\n    return ppppppcVar33;\n  }\n  pcVar40 = *(code **)(pcStack_98 + -0x7ba0);\n  pcVar42 = FUN_00107430;\n  ppppppcVar23 = (code ******)pppppcStack_8c;\n  (*pcVar40)();\n  ppppppcVar35 = *(code *******)(pcVar40 + 0x545fc);\n  ppppppcVar26 = (code ******)*ppppppcVar23;\n  pppppcStack_c4 = *ppppppcVar35;\n  ppppppcVar32 = ppppppcVar23;\n  ppppppcVar28 = ppppppcVar17;\n  ppppcStack_c0 = (code ****)pppppcVar25;\n  pppppcStack_bc = (code *****)ppppppcVar31;\n  pppppcStack_b8 = (code *****)ppppppcVar33;\n  pppppcStack_b4 = (code *****)ppppppcVar5;\n  pppppcStack_b0 = (code *****)ppppppcVar21;\n  pcStack_ac = pcVar42;\n  if (ppppppcVar26 == (code ******)0x0) {\n    pppppcVar25 = ppppppcVar17[6];\n    param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);\n    ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);\n    ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2);\n    ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();\n    ppppppcVar21 = ppppppcVar23;\n    if (ppppppcVar31 == (code ******)0x0) {\n      *ppppppcVar23 = (code *****)0x7;\n    }\n    else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }\n  }\n  if (pppppcStack_c4 == *ppppppcVar35) {\n    return (code ******)*ppppppcVar35;\n  }\n  pcVar40 = *(code **)(pcVar40 + 0x545e0);\n  (*pcVar40)();\n  pcStack_148 = pcVar40 + 0x5bf88;\n  piVar27 = *(int **)(pcVar40 + 0x54404);\n  pppppcStack_11c = (code *****)*piVar27;\n  ppppppcVar5 = ppppppcVar32;\n  ppppppcVar33 = ppppppcVar38;\n  ppppppcVar23 = param_4;\n  pppppcStack_118 = (code *****)ppppppcVar26;\n  pppppcStack_114 = (code *****)ppppppcVar31;\n  pppppcStack_110 = (code *****)ppppppcVar35;\n  pppppcStack_10c = (code *****)ppppppcVar17;\n  pppppcStack_108 = (code *****)ppppppcVar21;\n  pppppcStack_104 = (code *****)unaff_s5;\n  if (*ppppppcVar32 == (code *****)0x0) {\n    ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);\n    ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);\n    ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);\n    ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);\n    ppppppcVar17 = ppppppcVar28;\n    unaff_s5 = ppppppcVar38;\n    unaff_s6 = param_4;\n    if (ppppppcVar35 == (code ******)0x0) {\n      *ppppppcVar32 = (code *****)0x7;\n    }\n    else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }\n  }\nLAB_0010767c:\n  if ((code ******)pppppcStack_11c == (code ******)*piVar27) {\n    return (code ******)*piVar27;\n  }\n  pcVar40 = *(code **)(pcStack_148 + -0x7ba0);\n  pcVar42 = FUN_00107a84;\n  (*pcVar40)();\n  pcStack_190 = pcVar40 + 0x5bb2c;\n  puVar30 = *(uint **)(pcVar40 + 0x53fa8);\n  ppppcStack_184 = (code ****)*puVar30;\n  piStack_17c = piVar27;\n  pppppcStack_178 = (code *****)ppppppcVar32;\n  pppppcStack_174 = (code *****)ppppppcVar35;\n  pppppcStack_170 = (code *****)ppppppcVar17;\n  pppppcStack_16c = (code *****)ppppppcVar21;\n  pppppcStack_168 = (code *****)unaff_s5;\n  pcStack_164 = pcVar42;\n  if (*(ushort *)(ppppppcVar5 + 1) < 2) {\n    iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);\n    if (iVar4 == 100) {\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }\n    else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }\n  }\n  else {\n    ppppppcVar32 = (code ******)ppppppcVar5[4];\n    pppppcStack_188 = (code *****)0x0;\n    if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }\n    pppppcVar25 = ppppppcVar5[8];\n    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }\n    ppppppcVar31 = (code ******)0x0;\n    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n  }\nLAB_00107b8c:\n  if ((code *****)ppppcStack_184 == (code *****)*puVar30) {\n    return ppppppcVar31;\n  }\n  pcVar42 = *(code **)(pcStack_190 + -0x7ba0);\n  pcVar43 = FUN_00107cac;\n  pppppcVar25 = (code *****)ppppcStack_184;\n  (*pcVar42)();\n  ppppppcVar38 = (code ******)pppppcStack_188;\n  pcVar40 = pcStack_190;\n  piVar18 = *(int **)(pcVar42 + 0x53d80);\n  ppppppcVar28 = (code ******)((int)((int)ppppppcVar23 + -2) * 4);\n  pppppcStack_218 = (code *****)0x0;\n  iStack_1cc = *piVar18;\n  cVar1 = *(char *)(*(int *)pcStack_190 + 3);\n  ppppcStack_214 = (code ****)0x0;\n  ppppppcVar26 = ppppppcVar33;\n  ppppppcVar35 = ppppppcVar23;\n  pppppcStack_1c8 = (code *****)ppppppcVar5;\n  pppppcStack_1c4 = (code *****)ppppppcVar32;\n  puStack_1c0 = puVar30;\n  pppppcStack_1bc = (code *****)ppppppcVar17;\n  pppppcStack_1b8 = (code *****)ppppppcVar21;\n  pppppcStack_1b4 = (code *****)unaff_s5;\n  pppppcStack_1b0 = (code *****)unaff_s6;\n  pppppcStack_1ac = (code *****)unaff_s7;\n  pppppcStack_1a8 = (code *****)unaff_s8;\n  pcStack_1a4 = pcVar43;\n  pppppcStack_1a0 = (code *****)ppppppcVar31;\n  iVar4 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4));\n  iVar6 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8));\n  ppppppcVar21 = ppppppcVar28;\n  piVar27 = (int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n  if (piVar27 != (int *)0x0) {\n    ppppppcVar26 = ppppppcVar28;\n    (**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);\n    ppppppcVar21 = ppppppcVar28;\n    iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n    if (iStack_284 != 0) {\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }\n  }\n  ppppppcVar28 = ppppppcVar26;\n  iStack_284 = 0;\n  iStack_278 = 0;\n  ppppppcVar5 = (code ******)0x0;\n  pppppcStack_218 = (code *****)&DAT_00000007;\nLAB_00107f4c:\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(iStack_278);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(piVar27);\n  (**(code **)(pcVar42 + 0x53974))(iStack_284);\n  if ((code ******)pppppcStack_218 == (code ******)0x0) {\n    *puStack_18c = ppppppcVar5;\n  }\n  else if (ppppppcVar5 == (code ******)0x0) {\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }\n  if (iStack_1cc == *piVar18) {\n    return (code ******)pppppcStack_218;\n  }\n  iVar4 = iStack_1cc;\n  (**(code **)(pcVar42 + 0x53d64))();\n  ppppppcVar21 = (code ******)\n                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c);\n  return ppppppcVar21;\n}\n\n" comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment (function_definition "code ****** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  undefined *puVar3;\n  int iVar4;\n  code ******ppppppcVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  int iVar13;\n  uint *puVar14;\n  undefined4 uVar15;\n  int *piVar16;\n  code ******ppppppcVar17;\n  int *piVar18;\n  code *****pppppcVar19;\n  code cVar20;\n  code ******ppppppcVar21;\n  code *****pppppcVar22;\n  code ******ppppppcVar23;\n  undefined1 *puVar24;\n  code *****pppppcVar25;\n  code ******ppppppcVar26;\n  int *piVar27;\n  code ******ppppppcVar28;\n  code *****pppppcVar29;\n  uint *puVar30;\n  code ******ppppppcVar31;\n  code ******ppppppcVar32;\n  code ******ppppppcVar33;\n  code ****ppppcVar34;\n  code ******ppppppcVar35;\n  int iVar36;\n  code ******unaff_s3;\n  code *****pppppcVar37;\n  code ******unaff_s5;\n  code ******ppppppcVar38;\n  code ******unaff_s6;\n  code ******unaff_s7;\n  undefined *puVar39;\n  code *pcVar40;\n  code *pcVar41;\n  code ******unaff_s8;\n  code *pcVar42;\n  code *pcVar43;\n  undefined8 uVar44;\n  code *****in_stack_fffffd68;\n  int in_stack_fffffd6c;\n  int iStack_284;\n  int iStack_278;\n  code *****pppppcStack_218;\n  code ****ppppcStack_214;\n  code *****pppppcStack_210;\n  code ****appppcStack_20c [16];\n  int iStack_1cc;\n  code *****pppppcStack_1c8;\n  code *****pppppcStack_1c4;\n  uint *puStack_1c0;\n  code *****pppppcStack_1bc;\n  code *****pppppcStack_1b8;\n  code *****pppppcStack_1b4;\n  code *****pppppcStack_1b0;\n  code *****pppppcStack_1ac;\n  code *****pppppcStack_1a8;\n  code *pcStack_1a4;\n  code *****pppppcStack_1a0;\n  code *pcStack_190;\n  undefined4 *puStack_18c;\n  code *****pppppcStack_188;\n  code ****ppppcStack_184;\n  int *piStack_17c;\n  code *****pppppcStack_178;\n  code *****pppppcStack_174;\n  code *****pppppcStack_170;\n  code *****pppppcStack_16c;\n  code *****pppppcStack_168;\n  code *pcStack_164;\n  undefined4 uStack_150;\n  code *pcStack_148;\n  code *****pppppcStack_140;\n  code *pcStack_13c;\n  int iStack_138;\n  int iStack_134;\n  code ****ppppcStack_12c;\n  undefined1 auStack_128 [4];\n  code ****ppppcStack_124;\n  code *****pppppcStack_11c;\n  code *****pppppcStack_118;\n  code *****pppppcStack_114;\n  code *****pppppcStack_110;\n  code *****pppppcStack_10c;\n  code *****pppppcStack_108;\n  code *****pppppcStack_104;\n  int iStack_e0;\n  code *****pppppcStack_c8;\n  code *****pppppcStack_c4;\n  code ****ppppcStack_c0;\n  code *****pppppcStack_bc;\n  code *****pppppcStack_b8;\n  code *****pppppcStack_b4;\n  code *****pppppcStack_b0;\n  code *pcStack_ac;\n  code *pcStack_98;\n  code *****pppppcStack_90;\n  code *****pppppcStack_8c;\n  code *****pppppcStack_84;\n  uint *puStack_80;\n  code *****pppppcStack_7c;\n  code *****pppppcStack_78;\n  code *****pppppcStack_50;\n  code ****ppppcStack_4c;\n  undefined *puStack_44;\n  int *piStack_40;\n  code *****local_18;\n  code *****local_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  ppppppcVar21 = &local_18;\n  local_14 = *(code ******)PTR___stack_chk_guard_0015ba2c;\n  iVar4 = FUN_000f7f20();\n  if (iVar4 == 0) {\n    (*(code *)PTR_sqlite3_step_0015b630)(local_18);\n    iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    param_2 = (code ******)local_18;\n  }\n  *param_1 = iVar4;\n  ppppppcVar5 = *(code *******)puVar3;\n  if ((code ******)local_14 == ppppppcVar5) {\n    return ppppppcVar5;\n  }\n  puVar39 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_44 = puVar3;\n  puVar30 = *(uint **)(puVar39 + 0x549c8);\n  pppppcStack_50 = (code *****)0x0;\n  ppppcStack_4c = (code ****)*puVar30;\n  ppppppcVar5 = param_3;\n  piStack_40 = param_1;\n  (*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))();\n  if (param_3 == (code ******)0x0) {\nLAB_00107118:\n    param_3 = *(code *******)(puVar39 + 0x5466c);\n    if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;\n    unaff_s3 = &pppppcStack_50;\n    param_4 = (code ******)0x0;\n    ppppppcVar21 = (code ******)0x3;\n    param_3 = param_3 + 0x1bee;\n    ppppppcVar5 = param_2;\n    FUN_00106fb8(unaff_s3);\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }\n  }\n  else {\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }\n  }\nLAB_001070d4:\n  if ((code *****)ppppcStack_4c == (code *****)*puVar30) {\n    return (code ******)pppppcStack_50;\n  }\n  pcVar40 = *(code **)(puVar39 + 0x549ac);\n  pppppcVar25 = (code *****)ppppcStack_4c;\n  (*pcVar40)();\n  pcStack_98 = pcVar40 + 0x5c3d0;\n  ppppppcVar31 = *(code *******)(pcVar40 + 0x5484c);\n  pppppcStack_8c = *ppppppcVar31;\n  pppppcStack_84 = (code *****)param_2;\n  puStack_80 = puVar30;\n  pppppcStack_7c = (code *****)param_3;\n  pppppcStack_78 = (code *****)unaff_s3;\n  if (pppppcVar25[10] == (code ****)0x0) {\n    param_4 = ppppppcVar5 + 1;\n    ppppppcVar38 = &pppppcStack_90;\n    ppppppcVar17 = (code ******)0x12;\n    ppppppcVar33 = (code ******)FUN_000f7f20();\n    pppppcVar29 = pppppcStack_90;\n    if (ppppppcVar33 == (code ******)0x0) {\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];\n    ppppppcVar17 = ppppppcVar5;\n    ppppppcVar38 = ppppppcVar21;\n    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);\n    if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }\n  }\nLAB_00107278:\n  if (pppppcStack_8c == *ppppppcVar31) {\n    return ppppppcVar33;\n  }\n  pcVar40 = *(code **)(pcStack_98 + -0x7ba0);\n  pcVar42 = FUN_00107430;\n  ppppppcVar23 = (code ******)pppppcStack_8c;\n  (*pcVar40)();\n  ppppppcVar35 = *(code *******)(pcVar40 + 0x545fc);\n  ppppppcVar26 = (code ******)*ppppppcVar23;\n  pppppcStack_c4 = *ppppppcVar35;\n  ppppppcVar32 = ppppppcVar23;\n  ppppppcVar28 = ppppppcVar17;\n  ppppcStack_c0 = (code ****)pppppcVar25;\n  pppppcStack_bc = (code *****)ppppppcVar31;\n  pppppcStack_b8 = (code *****)ppppppcVar33;\n  pppppcStack_b4 = (code *****)ppppppcVar5;\n  pppppcStack_b0 = (code *****)ppppppcVar21;\n  pcStack_ac = pcVar42;\n  if (ppppppcVar26 == (code ******)0x0) {\n    pppppcVar25 = ppppppcVar17[6];\n    param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);\n    ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);\n    ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2);\n    ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();\n    ppppppcVar21 = ppppppcVar23;\n    if (ppppppcVar31 == (code ******)0x0) {\n      *ppppppcVar23 = (code *****)0x7;\n    }\n    else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }\n  }\n  if (pppppcStack_c4 == *ppppppcVar35) {\n    return (code ******)*ppppppcVar35;\n  }\n  pcVar40 = *(code **)(pcVar40 + 0x545e0);\n  (*pcVar40)();\n  pcStack_148 = pcVar40 + 0x5bf88;\n  piVar27 = *(int **)(pcVar40 + 0x54404);\n  pppppcStack_11c = (code *****)*piVar27;\n  ppppppcVar5 = ppppppcVar32;\n  ppppppcVar33 = ppppppcVar38;\n  ppppppcVar23 = param_4;\n  pppppcStack_118 = (code *****)ppppppcVar26;\n  pppppcStack_114 = (code *****)ppppppcVar31;\n  pppppcStack_110 = (code *****)ppppppcVar35;\n  pppppcStack_10c = (code *****)ppppppcVar17;\n  pppppcStack_108 = (code *****)ppppppcVar21;\n  pppppcStack_104 = (code *****)unaff_s5;\n  if (*ppppppcVar32 == (code *****)0x0) {\n    ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);\n    ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);\n    ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);\n    ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);\n    ppppppcVar17 = ppppppcVar28;\n    unaff_s5 = ppppppcVar38;\n    unaff_s6 = param_4;\n    if (ppppppcVar35 == (code ******)0x0) {\n      *ppppppcVar32 = (code *****)0x7;\n    }\n    else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }\n  }\nLAB_0010767c:\n  if ((code ******)pppppcStack_11c == (code ******)*piVar27) {\n    return (code ******)*piVar27;\n  }\n  pcVar40 = *(code **)(pcStack_148 + -0x7ba0);\n  pcVar42 = FUN_00107a84;\n  (*pcVar40)();\n  pcStack_190 = pcVar40 + 0x5bb2c;\n  puVar30 = *(uint **)(pcVar40 + 0x53fa8);\n  ppppcStack_184 = (code ****)*puVar30;\n  piStack_17c = piVar27;\n  pppppcStack_178 = (code *****)ppppppcVar32;\n  pppppcStack_174 = (code *****)ppppppcVar35;\n  pppppcStack_170 = (code *****)ppppppcVar17;\n  pppppcStack_16c = (code *****)ppppppcVar21;\n  pppppcStack_168 = (code *****)unaff_s5;\n  pcStack_164 = pcVar42;\n  if (*(ushort *)(ppppppcVar5 + 1) < 2) {\n    iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);\n    if (iVar4 == 100) {\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }\n    else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }\n  }\n  else {\n    ppppppcVar32 = (code ******)ppppppcVar5[4];\n    pppppcStack_188 = (code *****)0x0;\n    if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }\n    pppppcVar25 = ppppppcVar5[8];\n    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }\n    ppppppcVar31 = (code ******)0x0;\n    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n  }\nLAB_00107b8c:\n  if ((code *****)ppppcStack_184 == (code *****)*puVar30) {\n    return ppppppcVar31;\n  }\n  pcVar42 = *(code **)(pcStack_190 + -0x7ba0);\n  pcVar43 = FUN_00107cac;\n  pppppcVar25 = (code *****)ppppcStack_184;\n  (*pcVar42)();\n  ppppppcVar38 = (code ******)pppppcStack_188;\n  pcVar40 = pcStack_190;\n  piVar18 = *(int **)(pcVar42 + 0x53d80);\n  ppppppcVar28 = (code ******)((int)((int)ppppppcVar23 + -2) * 4);\n  pppppcStack_218 = (code *****)0x0;\n  iStack_1cc = *piVar18;\n  cVar1 = *(char *)(*(int *)pcStack_190 + 3);\n  ppppcStack_214 = (code ****)0x0;\n  ppppppcVar26 = ppppppcVar33;\n  ppppppcVar35 = ppppppcVar23;\n  pppppcStack_1c8 = (code *****)ppppppcVar5;\n  pppppcStack_1c4 = (code *****)ppppppcVar32;\n  puStack_1c0 = puVar30;\n  pppppcStack_1bc = (code *****)ppppppcVar17;\n  pppppcStack_1b8 = (code *****)ppppppcVar21;\n  pppppcStack_1b4 = (code *****)unaff_s5;\n  pppppcStack_1b0 = (code *****)unaff_s6;\n  pppppcStack_1ac = (code *****)unaff_s7;\n  pppppcStack_1a8 = (code *****)unaff_s8;\n  pcStack_1a4 = pcVar43;\n  pppppcStack_1a0 = (code *****)ppppppcVar31;\n  iVar4 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4));\n  iVar6 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8));\n  ppppppcVar21 = ppppppcVar28;\n  piVar27 = (int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n  if (piVar27 != (int *)0x0) {\n    ppppppcVar26 = ppppppcVar28;\n    (**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);\n    ppppppcVar21 = ppppppcVar28;\n    iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n    if (iStack_284 != 0) {\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }\n  }\n  ppppppcVar28 = ppppppcVar26;\n  iStack_284 = 0;\n  iStack_278 = 0;\n  ppppppcVar5 = (code ******)0x0;\n  pppppcStack_218 = (code *****)&DAT_00000007;\nLAB_00107f4c:\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(iStack_278);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(piVar27);\n  (**(code **)(pcVar42 + 0x53974))(iStack_284);\n  if ((code ******)pppppcStack_218 == (code ******)0x0) {\n    *puStack_18c = ppppppcVar5;\n  }\n  else if (ppppppcVar5 == (code ******)0x0) {\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }\n  if (iStack_1cc == *piVar18) {\n    return (code ******)pppppcStack_218;\n  }\n  iVar4 = iStack_1cc;\n  (**(code **)(pcVar42 + 0x53d64))();\n  ppppppcVar21 = (code ******)\n                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c);\n  return ppppppcVar21;\n}" type_identifier (pointer_declarator "****** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" * (pointer_declarator "***** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" * (pointer_declarator "**** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" * (pointer_declarator "*** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" * (pointer_declarator "** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" * (pointer_declarator "* FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" * (function_declarator "FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" identifier (parameter_list "(int *param_1,code ******param_2,code ******param_3,code ******param_4)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "code ******param_2" type_identifier (pointer_declarator "******param_2" * (pointer_declarator "*****param_2" * (pointer_declarator "****param_2" * (pointer_declarator "***param_2" * (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier))))))) , (parameter_declaration "code ******param_3" type_identifier (pointer_declarator "******param_3" * (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier))))))) , (parameter_declaration "code ******param_4" type_identifier (pointer_declarator "******param_4" * (pointer_declarator "*****param_4" * (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier))))))) ))))))))) (compound_statement "{\n  char cVar1;\n  byte bVar2;\n  undefined *puVar3;\n  int iVar4;\n  code ******ppppppcVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  int iVar13;\n  uint *puVar14;\n  undefined4 uVar15;\n  int *piVar16;\n  code ******ppppppcVar17;\n  int *piVar18;\n  code *****pppppcVar19;\n  code cVar20;\n  code ******ppppppcVar21;\n  code *****pppppcVar22;\n  code ******ppppppcVar23;\n  undefined1 *puVar24;\n  code *****pppppcVar25;\n  code ******ppppppcVar26;\n  int *piVar27;\n  code ******ppppppcVar28;\n  code *****pppppcVar29;\n  uint *puVar30;\n  code ******ppppppcVar31;\n  code ******ppppppcVar32;\n  code ******ppppppcVar33;\n  code ****ppppcVar34;\n  code ******ppppppcVar35;\n  int iVar36;\n  code ******unaff_s3;\n  code *****pppppcVar37;\n  code ******unaff_s5;\n  code ******ppppppcVar38;\n  code ******unaff_s6;\n  code ******unaff_s7;\n  undefined *puVar39;\n  code *pcVar40;\n  code *pcVar41;\n  code ******unaff_s8;\n  code *pcVar42;\n  code *pcVar43;\n  undefined8 uVar44;\n  code *****in_stack_fffffd68;\n  int in_stack_fffffd6c;\n  int iStack_284;\n  int iStack_278;\n  code *****pppppcStack_218;\n  code ****ppppcStack_214;\n  code *****pppppcStack_210;\n  code ****appppcStack_20c [16];\n  int iStack_1cc;\n  code *****pppppcStack_1c8;\n  code *****pppppcStack_1c4;\n  uint *puStack_1c0;\n  code *****pppppcStack_1bc;\n  code *****pppppcStack_1b8;\n  code *****pppppcStack_1b4;\n  code *****pppppcStack_1b0;\n  code *****pppppcStack_1ac;\n  code *****pppppcStack_1a8;\n  code *pcStack_1a4;\n  code *****pppppcStack_1a0;\n  code *pcStack_190;\n  undefined4 *puStack_18c;\n  code *****pppppcStack_188;\n  code ****ppppcStack_184;\n  int *piStack_17c;\n  code *****pppppcStack_178;\n  code *****pppppcStack_174;\n  code *****pppppcStack_170;\n  code *****pppppcStack_16c;\n  code *****pppppcStack_168;\n  code *pcStack_164;\n  undefined4 uStack_150;\n  code *pcStack_148;\n  code *****pppppcStack_140;\n  code *pcStack_13c;\n  int iStack_138;\n  int iStack_134;\n  code ****ppppcStack_12c;\n  undefined1 auStack_128 [4];\n  code ****ppppcStack_124;\n  code *****pppppcStack_11c;\n  code *****pppppcStack_118;\n  code *****pppppcStack_114;\n  code *****pppppcStack_110;\n  code *****pppppcStack_10c;\n  code *****pppppcStack_108;\n  code *****pppppcStack_104;\n  int iStack_e0;\n  code *****pppppcStack_c8;\n  code *****pppppcStack_c4;\n  code ****ppppcStack_c0;\n  code *****pppppcStack_bc;\n  code *****pppppcStack_b8;\n  code *****pppppcStack_b4;\n  code *****pppppcStack_b0;\n  code *pcStack_ac;\n  code *pcStack_98;\n  code *****pppppcStack_90;\n  code *****pppppcStack_8c;\n  code *****pppppcStack_84;\n  uint *puStack_80;\n  code *****pppppcStack_7c;\n  code *****pppppcStack_78;\n  code *****pppppcStack_50;\n  code ****ppppcStack_4c;\n  undefined *puStack_44;\n  int *piStack_40;\n  code *****local_18;\n  code *****local_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  ppppppcVar21 = &local_18;\n  local_14 = *(code ******)PTR___stack_chk_guard_0015ba2c;\n  iVar4 = FUN_000f7f20();\n  if (iVar4 == 0) {\n    (*(code *)PTR_sqlite3_step_0015b630)(local_18);\n    iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    param_2 = (code ******)local_18;\n  }\n  *param_1 = iVar4;\n  ppppppcVar5 = *(code *******)puVar3;\n  if ((code ******)local_14 == ppppppcVar5) {\n    return ppppppcVar5;\n  }\n  puVar39 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_44 = puVar3;\n  puVar30 = *(uint **)(puVar39 + 0x549c8);\n  pppppcStack_50 = (code *****)0x0;\n  ppppcStack_4c = (code ****)*puVar30;\n  ppppppcVar5 = param_3;\n  piStack_40 = param_1;\n  (*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))();\n  if (param_3 == (code ******)0x0) {\nLAB_00107118:\n    param_3 = *(code *******)(puVar39 + 0x5466c);\n    if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;\n    unaff_s3 = &pppppcStack_50;\n    param_4 = (code ******)0x0;\n    ppppppcVar21 = (code ******)0x3;\n    param_3 = param_3 + 0x1bee;\n    ppppppcVar5 = param_2;\n    FUN_00106fb8(unaff_s3);\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }\n  }\n  else {\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }\n  }\nLAB_001070d4:\n  if ((code *****)ppppcStack_4c == (code *****)*puVar30) {\n    return (code ******)pppppcStack_50;\n  }\n  pcVar40 = *(code **)(puVar39 + 0x549ac);\n  pppppcVar25 = (code *****)ppppcStack_4c;\n  (*pcVar40)();\n  pcStack_98 = pcVar40 + 0x5c3d0;\n  ppppppcVar31 = *(code *******)(pcVar40 + 0x5484c);\n  pppppcStack_8c = *ppppppcVar31;\n  pppppcStack_84 = (code *****)param_2;\n  puStack_80 = puVar30;\n  pppppcStack_7c = (code *****)param_3;\n  pppppcStack_78 = (code *****)unaff_s3;\n  if (pppppcVar25[10] == (code ****)0x0) {\n    param_4 = ppppppcVar5 + 1;\n    ppppppcVar38 = &pppppcStack_90;\n    ppppppcVar17 = (code ******)0x12;\n    ppppppcVar33 = (code ******)FUN_000f7f20();\n    pppppcVar29 = pppppcStack_90;\n    if (ppppppcVar33 == (code ******)0x0) {\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];\n    ppppppcVar17 = ppppppcVar5;\n    ppppppcVar38 = ppppppcVar21;\n    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);\n    if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }\n  }\nLAB_00107278:\n  if (pppppcStack_8c == *ppppppcVar31) {\n    return ppppppcVar33;\n  }\n  pcVar40 = *(code **)(pcStack_98 + -0x7ba0);\n  pcVar42 = FUN_00107430;\n  ppppppcVar23 = (code ******)pppppcStack_8c;\n  (*pcVar40)();\n  ppppppcVar35 = *(code *******)(pcVar40 + 0x545fc);\n  ppppppcVar26 = (code ******)*ppppppcVar23;\n  pppppcStack_c4 = *ppppppcVar35;\n  ppppppcVar32 = ppppppcVar23;\n  ppppppcVar28 = ppppppcVar17;\n  ppppcStack_c0 = (code ****)pppppcVar25;\n  pppppcStack_bc = (code *****)ppppppcVar31;\n  pppppcStack_b8 = (code *****)ppppppcVar33;\n  pppppcStack_b4 = (code *****)ppppppcVar5;\n  pppppcStack_b0 = (code *****)ppppppcVar21;\n  pcStack_ac = pcVar42;\n  if (ppppppcVar26 == (code ******)0x0) {\n    pppppcVar25 = ppppppcVar17[6];\n    param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);\n    ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);\n    ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2);\n    ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();\n    ppppppcVar21 = ppppppcVar23;\n    if (ppppppcVar31 == (code ******)0x0) {\n      *ppppppcVar23 = (code *****)0x7;\n    }\n    else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }\n  }\n  if (pppppcStack_c4 == *ppppppcVar35) {\n    return (code ******)*ppppppcVar35;\n  }\n  pcVar40 = *(code **)(pcVar40 + 0x545e0);\n  (*pcVar40)();\n  pcStack_148 = pcVar40 + 0x5bf88;\n  piVar27 = *(int **)(pcVar40 + 0x54404);\n  pppppcStack_11c = (code *****)*piVar27;\n  ppppppcVar5 = ppppppcVar32;\n  ppppppcVar33 = ppppppcVar38;\n  ppppppcVar23 = param_4;\n  pppppcStack_118 = (code *****)ppppppcVar26;\n  pppppcStack_114 = (code *****)ppppppcVar31;\n  pppppcStack_110 = (code *****)ppppppcVar35;\n  pppppcStack_10c = (code *****)ppppppcVar17;\n  pppppcStack_108 = (code *****)ppppppcVar21;\n  pppppcStack_104 = (code *****)unaff_s5;\n  if (*ppppppcVar32 == (code *****)0x0) {\n    ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);\n    ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);\n    ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);\n    ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);\n    ppppppcVar17 = ppppppcVar28;\n    unaff_s5 = ppppppcVar38;\n    unaff_s6 = param_4;\n    if (ppppppcVar35 == (code ******)0x0) {\n      *ppppppcVar32 = (code *****)0x7;\n    }\n    else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }\n  }\nLAB_0010767c:\n  if ((code ******)pppppcStack_11c == (code ******)*piVar27) {\n    return (code ******)*piVar27;\n  }\n  pcVar40 = *(code **)(pcStack_148 + -0x7ba0);\n  pcVar42 = FUN_00107a84;\n  (*pcVar40)();\n  pcStack_190 = pcVar40 + 0x5bb2c;\n  puVar30 = *(uint **)(pcVar40 + 0x53fa8);\n  ppppcStack_184 = (code ****)*puVar30;\n  piStack_17c = piVar27;\n  pppppcStack_178 = (code *****)ppppppcVar32;\n  pppppcStack_174 = (code *****)ppppppcVar35;\n  pppppcStack_170 = (code *****)ppppppcVar17;\n  pppppcStack_16c = (code *****)ppppppcVar21;\n  pppppcStack_168 = (code *****)unaff_s5;\n  pcStack_164 = pcVar42;\n  if (*(ushort *)(ppppppcVar5 + 1) < 2) {\n    iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);\n    if (iVar4 == 100) {\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }\n    else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }\n  }\n  else {\n    ppppppcVar32 = (code ******)ppppppcVar5[4];\n    pppppcStack_188 = (code *****)0x0;\n    if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }\n    pppppcVar25 = ppppppcVar5[8];\n    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }\n    ppppppcVar31 = (code ******)0x0;\n    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n  }\nLAB_00107b8c:\n  if ((code *****)ppppcStack_184 == (code *****)*puVar30) {\n    return ppppppcVar31;\n  }\n  pcVar42 = *(code **)(pcStack_190 + -0x7ba0);\n  pcVar43 = FUN_00107cac;\n  pppppcVar25 = (code *****)ppppcStack_184;\n  (*pcVar42)();\n  ppppppcVar38 = (code ******)pppppcStack_188;\n  pcVar40 = pcStack_190;\n  piVar18 = *(int **)(pcVar42 + 0x53d80);\n  ppppppcVar28 = (code ******)((int)((int)ppppppcVar23 + -2) * 4);\n  pppppcStack_218 = (code *****)0x0;\n  iStack_1cc = *piVar18;\n  cVar1 = *(char *)(*(int *)pcStack_190 + 3);\n  ppppcStack_214 = (code ****)0x0;\n  ppppppcVar26 = ppppppcVar33;\n  ppppppcVar35 = ppppppcVar23;\n  pppppcStack_1c8 = (code *****)ppppppcVar5;\n  pppppcStack_1c4 = (code *****)ppppppcVar32;\n  puStack_1c0 = puVar30;\n  pppppcStack_1bc = (code *****)ppppppcVar17;\n  pppppcStack_1b8 = (code *****)ppppppcVar21;\n  pppppcStack_1b4 = (code *****)unaff_s5;\n  pppppcStack_1b0 = (code *****)unaff_s6;\n  pppppcStack_1ac = (code *****)unaff_s7;\n  pppppcStack_1a8 = (code *****)unaff_s8;\n  pcStack_1a4 = pcVar43;\n  pppppcStack_1a0 = (code *****)ppppppcVar31;\n  iVar4 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4));\n  iVar6 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8));\n  ppppppcVar21 = ppppppcVar28;\n  piVar27 = (int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n  if (piVar27 != (int *)0x0) {\n    ppppppcVar26 = ppppppcVar28;\n    (**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);\n    ppppppcVar21 = ppppppcVar28;\n    iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n    if (iStack_284 != 0) {\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }\n  }\n  ppppppcVar28 = ppppppcVar26;\n  iStack_284 = 0;\n  iStack_278 = 0;\n  ppppppcVar5 = (code ******)0x0;\n  pppppcStack_218 = (code *****)&DAT_00000007;\nLAB_00107f4c:\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(iStack_278);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(piVar27);\n  (**(code **)(pcVar42 + 0x53974))(iStack_284);\n  if ((code ******)pppppcStack_218 == (code ******)0x0) {\n    *puStack_18c = ppppppcVar5;\n  }\n  else if (ppppppcVar5 == (code ******)0x0) {\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }\n  if (iStack_1cc == *piVar18) {\n    return (code ******)pppppcStack_218;\n  }\n  iVar4 = iStack_1cc;\n  (**(code **)(pcVar42 + 0x53d64))();\n  ppppppcVar21 = (code ******)\n                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c);\n  return ppppppcVar21;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "code ******ppppppcVar5;" type_identifier (pointer_declarator "******ppppppcVar5" * (pointer_declarator "*****ppppppcVar5" * (pointer_declarator "****ppppppcVar5" * (pointer_declarator "***ppppppcVar5" * (pointer_declarator "**ppppppcVar5" * (pointer_declarator "*ppppppcVar5" * identifier)))))) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "code ******ppppppcVar17;" type_identifier (pointer_declarator "******ppppppcVar17" * (pointer_declarator "*****ppppppcVar17" * (pointer_declarator "****ppppppcVar17" * (pointer_declarator "***ppppppcVar17" * (pointer_declarator "**ppppppcVar17" * (pointer_declarator "*ppppppcVar17" * identifier)))))) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "code *****pppppcVar19;" type_identifier (pointer_declarator "*****pppppcVar19" * (pointer_declarator "****pppppcVar19" * (pointer_declarator "***pppppcVar19" * (pointer_declarator "**pppppcVar19" * (pointer_declarator "*pppppcVar19" * identifier))))) ;) (declaration "code cVar20;" type_identifier identifier ;) (declaration "code ******ppppppcVar21;" type_identifier (pointer_declarator "******ppppppcVar21" * (pointer_declarator "*****ppppppcVar21" * (pointer_declarator "****ppppppcVar21" * (pointer_declarator "***ppppppcVar21" * (pointer_declarator "**ppppppcVar21" * (pointer_declarator "*ppppppcVar21" * identifier)))))) ;) (declaration "code *****pppppcVar22;" type_identifier (pointer_declarator "*****pppppcVar22" * (pointer_declarator "****pppppcVar22" * (pointer_declarator "***pppppcVar22" * (pointer_declarator "**pppppcVar22" * (pointer_declarator "*pppppcVar22" * identifier))))) ;) (declaration "code ******ppppppcVar23;" type_identifier (pointer_declarator "******ppppppcVar23" * (pointer_declarator "*****ppppppcVar23" * (pointer_declarator "****ppppppcVar23" * (pointer_declarator "***ppppppcVar23" * (pointer_declarator "**ppppppcVar23" * (pointer_declarator "*ppppppcVar23" * identifier)))))) ;) (declaration "undefined1 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "code *****pppppcVar25;" type_identifier (pointer_declarator "*****pppppcVar25" * (pointer_declarator "****pppppcVar25" * (pointer_declarator "***pppppcVar25" * (pointer_declarator "**pppppcVar25" * (pointer_declarator "*pppppcVar25" * identifier))))) ;) (declaration "code ******ppppppcVar26;" type_identifier (pointer_declarator "******ppppppcVar26" * (pointer_declarator "*****ppppppcVar26" * (pointer_declarator "****ppppppcVar26" * (pointer_declarator "***ppppppcVar26" * (pointer_declarator "**ppppppcVar26" * (pointer_declarator "*ppppppcVar26" * identifier)))))) ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "code ******ppppppcVar28;" type_identifier (pointer_declarator "******ppppppcVar28" * (pointer_declarator "*****ppppppcVar28" * (pointer_declarator "****ppppppcVar28" * (pointer_declarator "***ppppppcVar28" * (pointer_declarator "**ppppppcVar28" * (pointer_declarator "*ppppppcVar28" * identifier)))))) ;) (declaration "code *****pppppcVar29;" type_identifier (pointer_declarator "*****pppppcVar29" * (pointer_declarator "****pppppcVar29" * (pointer_declarator "***pppppcVar29" * (pointer_declarator "**pppppcVar29" * (pointer_declarator "*pppppcVar29" * identifier))))) ;) (declaration "uint *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "code ******ppppppcVar31;" type_identifier (pointer_declarator "******ppppppcVar31" * (pointer_declarator "*****ppppppcVar31" * (pointer_declarator "****ppppppcVar31" * (pointer_declarator "***ppppppcVar31" * (pointer_declarator "**ppppppcVar31" * (pointer_declarator "*ppppppcVar31" * identifier)))))) ;) (declaration "code ******ppppppcVar32;" type_identifier (pointer_declarator "******ppppppcVar32" * (pointer_declarator "*****ppppppcVar32" * (pointer_declarator "****ppppppcVar32" * (pointer_declarator "***ppppppcVar32" * (pointer_declarator "**ppppppcVar32" * (pointer_declarator "*ppppppcVar32" * identifier)))))) ;) (declaration "code ******ppppppcVar33;" type_identifier (pointer_declarator "******ppppppcVar33" * (pointer_declarator "*****ppppppcVar33" * (pointer_declarator "****ppppppcVar33" * (pointer_declarator "***ppppppcVar33" * (pointer_declarator "**ppppppcVar33" * (pointer_declarator "*ppppppcVar33" * identifier)))))) ;) (declaration "code ****ppppcVar34;" type_identifier (pointer_declarator "****ppppcVar34" * (pointer_declarator "***ppppcVar34" * (pointer_declarator "**ppppcVar34" * (pointer_declarator "*ppppcVar34" * identifier)))) ;) (declaration "code ******ppppppcVar35;" type_identifier (pointer_declarator "******ppppppcVar35" * (pointer_declarator "*****ppppppcVar35" * (pointer_declarator "****ppppppcVar35" * (pointer_declarator "***ppppppcVar35" * (pointer_declarator "**ppppppcVar35" * (pointer_declarator "*ppppppcVar35" * identifier)))))) ;) (declaration "int iVar36;" primitive_type identifier ;) (declaration "code ******unaff_s3;" type_identifier (pointer_declarator "******unaff_s3" * (pointer_declarator "*****unaff_s3" * (pointer_declarator "****unaff_s3" * (pointer_declarator "***unaff_s3" * (pointer_declarator "**unaff_s3" * (pointer_declarator "*unaff_s3" * identifier)))))) ;) (declaration "code *****pppppcVar37;" type_identifier (pointer_declarator "*****pppppcVar37" * (pointer_declarator "****pppppcVar37" * (pointer_declarator "***pppppcVar37" * (pointer_declarator "**pppppcVar37" * (pointer_declarator "*pppppcVar37" * identifier))))) ;) (declaration "code ******unaff_s5;" type_identifier (pointer_declarator "******unaff_s5" * (pointer_declarator "*****unaff_s5" * (pointer_declarator "****unaff_s5" * (pointer_declarator "***unaff_s5" * (pointer_declarator "**unaff_s5" * (pointer_declarator "*unaff_s5" * identifier)))))) ;) (declaration "code ******ppppppcVar38;" type_identifier (pointer_declarator "******ppppppcVar38" * (pointer_declarator "*****ppppppcVar38" * (pointer_declarator "****ppppppcVar38" * (pointer_declarator "***ppppppcVar38" * (pointer_declarator "**ppppppcVar38" * (pointer_declarator "*ppppppcVar38" * identifier)))))) ;) (declaration "code ******unaff_s6;" type_identifier (pointer_declarator "******unaff_s6" * (pointer_declarator "*****unaff_s6" * (pointer_declarator "****unaff_s6" * (pointer_declarator "***unaff_s6" * (pointer_declarator "**unaff_s6" * (pointer_declarator "*unaff_s6" * identifier)))))) ;) (declaration "code ******unaff_s7;" type_identifier (pointer_declarator "******unaff_s7" * (pointer_declarator "*****unaff_s7" * (pointer_declarator "****unaff_s7" * (pointer_declarator "***unaff_s7" * (pointer_declarator "**unaff_s7" * (pointer_declarator "*unaff_s7" * identifier)))))) ;) (declaration "undefined *puVar39;" type_identifier (pointer_declarator "*puVar39" * identifier) ;) (declaration "code *pcVar40;" type_identifier (pointer_declarator "*pcVar40" * identifier) ;) (declaration "code *pcVar41;" type_identifier (pointer_declarator "*pcVar41" * identifier) ;) (declaration "code ******unaff_s8;" type_identifier (pointer_declarator "******unaff_s8" * (pointer_declarator "*****unaff_s8" * (pointer_declarator "****unaff_s8" * (pointer_declarator "***unaff_s8" * (pointer_declarator "**unaff_s8" * (pointer_declarator "*unaff_s8" * identifier)))))) ;) (declaration "code *pcVar42;" type_identifier (pointer_declarator "*pcVar42" * identifier) ;) (declaration "code *pcVar43;" type_identifier (pointer_declarator "*pcVar43" * identifier) ;) (declaration "undefined8 uVar44;" type_identifier identifier ;) (declaration "code *****in_stack_fffffd68;" type_identifier (pointer_declarator "*****in_stack_fffffd68" * (pointer_declarator "****in_stack_fffffd68" * (pointer_declarator "***in_stack_fffffd68" * (pointer_declarator "**in_stack_fffffd68" * (pointer_declarator "*in_stack_fffffd68" * identifier))))) ;) (declaration "int in_stack_fffffd6c;" primitive_type identifier ;) (declaration "int iStack_284;" primitive_type identifier ;) (declaration "int iStack_278;" primitive_type identifier ;) (declaration "code *****pppppcStack_218;" type_identifier (pointer_declarator "*****pppppcStack_218" * (pointer_declarator "****pppppcStack_218" * (pointer_declarator "***pppppcStack_218" * (pointer_declarator "**pppppcStack_218" * (pointer_declarator "*pppppcStack_218" * identifier))))) ;) (declaration "code ****ppppcStack_214;" type_identifier (pointer_declarator "****ppppcStack_214" * (pointer_declarator "***ppppcStack_214" * (pointer_declarator "**ppppcStack_214" * (pointer_declarator "*ppppcStack_214" * identifier)))) ;) (declaration "code *****pppppcStack_210;" type_identifier (pointer_declarator "*****pppppcStack_210" * (pointer_declarator "****pppppcStack_210" * (pointer_declarator "***pppppcStack_210" * (pointer_declarator "**pppppcStack_210" * (pointer_declarator "*pppppcStack_210" * identifier))))) ;) (declaration "code ****appppcStack_20c [16];" type_identifier (pointer_declarator "****appppcStack_20c [16]" * (pointer_declarator "***appppcStack_20c [16]" * (pointer_declarator "**appppcStack_20c [16]" * (pointer_declarator "*appppcStack_20c [16]" * (array_declarator "appppcStack_20c [16]" identifier [ number_literal ]))))) ;) (declaration "int iStack_1cc;" primitive_type identifier ;) (declaration "code *****pppppcStack_1c8;" type_identifier (pointer_declarator "*****pppppcStack_1c8" * (pointer_declarator "****pppppcStack_1c8" * (pointer_declarator "***pppppcStack_1c8" * (pointer_declarator "**pppppcStack_1c8" * (pointer_declarator "*pppppcStack_1c8" * identifier))))) ;) (declaration "code *****pppppcStack_1c4;" type_identifier (pointer_declarator "*****pppppcStack_1c4" * (pointer_declarator "****pppppcStack_1c4" * (pointer_declarator "***pppppcStack_1c4" * (pointer_declarator "**pppppcStack_1c4" * (pointer_declarator "*pppppcStack_1c4" * identifier))))) ;) (declaration "uint *puStack_1c0;" type_identifier (pointer_declarator "*puStack_1c0" * identifier) ;) (declaration "code *****pppppcStack_1bc;" type_identifier (pointer_declarator "*****pppppcStack_1bc" * (pointer_declarator "****pppppcStack_1bc" * (pointer_declarator "***pppppcStack_1bc" * (pointer_declarator "**pppppcStack_1bc" * (pointer_declarator "*pppppcStack_1bc" * identifier))))) ;) (declaration "code *****pppppcStack_1b8;" type_identifier (pointer_declarator "*****pppppcStack_1b8" * (pointer_declarator "****pppppcStack_1b8" * (pointer_declarator "***pppppcStack_1b8" * (pointer_declarator "**pppppcStack_1b8" * (pointer_declarator "*pppppcStack_1b8" * identifier))))) ;) (declaration "code *****pppppcStack_1b4;" type_identifier (pointer_declarator "*****pppppcStack_1b4" * (pointer_declarator "****pppppcStack_1b4" * (pointer_declarator "***pppppcStack_1b4" * (pointer_declarator "**pppppcStack_1b4" * (pointer_declarator "*pppppcStack_1b4" * identifier))))) ;) (declaration "code *****pppppcStack_1b0;" type_identifier (pointer_declarator "*****pppppcStack_1b0" * (pointer_declarator "****pppppcStack_1b0" * (pointer_declarator "***pppppcStack_1b0" * (pointer_declarator "**pppppcStack_1b0" * (pointer_declarator "*pppppcStack_1b0" * identifier))))) ;) (declaration "code *****pppppcStack_1ac;" type_identifier (pointer_declarator "*****pppppcStack_1ac" * (pointer_declarator "****pppppcStack_1ac" * (pointer_declarator "***pppppcStack_1ac" * (pointer_declarator "**pppppcStack_1ac" * (pointer_declarator "*pppppcStack_1ac" * identifier))))) ;) (declaration "code *****pppppcStack_1a8;" type_identifier (pointer_declarator "*****pppppcStack_1a8" * (pointer_declarator "****pppppcStack_1a8" * (pointer_declarator "***pppppcStack_1a8" * (pointer_declarator "**pppppcStack_1a8" * (pointer_declarator "*pppppcStack_1a8" * identifier))))) ;) (declaration "code *pcStack_1a4;" type_identifier (pointer_declarator "*pcStack_1a4" * identifier) ;) (declaration "code *****pppppcStack_1a0;" type_identifier (pointer_declarator "*****pppppcStack_1a0" * (pointer_declarator "****pppppcStack_1a0" * (pointer_declarator "***pppppcStack_1a0" * (pointer_declarator "**pppppcStack_1a0" * (pointer_declarator "*pppppcStack_1a0" * identifier))))) ;) (declaration "code *pcStack_190;" type_identifier (pointer_declarator "*pcStack_190" * identifier) ;) (declaration "undefined4 *puStack_18c;" type_identifier (pointer_declarator "*puStack_18c" * identifier) ;) (declaration "code *****pppppcStack_188;" type_identifier (pointer_declarator "*****pppppcStack_188" * (pointer_declarator "****pppppcStack_188" * (pointer_declarator "***pppppcStack_188" * (pointer_declarator "**pppppcStack_188" * (pointer_declarator "*pppppcStack_188" * identifier))))) ;) (declaration "code ****ppppcStack_184;" type_identifier (pointer_declarator "****ppppcStack_184" * (pointer_declarator "***ppppcStack_184" * (pointer_declarator "**ppppcStack_184" * (pointer_declarator "*ppppcStack_184" * identifier)))) ;) (declaration "int *piStack_17c;" primitive_type (pointer_declarator "*piStack_17c" * identifier) ;) (declaration "code *****pppppcStack_178;" type_identifier (pointer_declarator "*****pppppcStack_178" * (pointer_declarator "****pppppcStack_178" * (pointer_declarator "***pppppcStack_178" * (pointer_declarator "**pppppcStack_178" * (pointer_declarator "*pppppcStack_178" * identifier))))) ;) (declaration "code *****pppppcStack_174;" type_identifier (pointer_declarator "*****pppppcStack_174" * (pointer_declarator "****pppppcStack_174" * (pointer_declarator "***pppppcStack_174" * (pointer_declarator "**pppppcStack_174" * (pointer_declarator "*pppppcStack_174" * identifier))))) ;) (declaration "code *****pppppcStack_170;" type_identifier (pointer_declarator "*****pppppcStack_170" * (pointer_declarator "****pppppcStack_170" * (pointer_declarator "***pppppcStack_170" * (pointer_declarator "**pppppcStack_170" * (pointer_declarator "*pppppcStack_170" * identifier))))) ;) (declaration "code *****pppppcStack_16c;" type_identifier (pointer_declarator "*****pppppcStack_16c" * (pointer_declarator "****pppppcStack_16c" * (pointer_declarator "***pppppcStack_16c" * (pointer_declarator "**pppppcStack_16c" * (pointer_declarator "*pppppcStack_16c" * identifier))))) ;) (declaration "code *****pppppcStack_168;" type_identifier (pointer_declarator "*****pppppcStack_168" * (pointer_declarator "****pppppcStack_168" * (pointer_declarator "***pppppcStack_168" * (pointer_declarator "**pppppcStack_168" * (pointer_declarator "*pppppcStack_168" * identifier))))) ;) (declaration "code *pcStack_164;" type_identifier (pointer_declarator "*pcStack_164" * identifier) ;) (declaration "undefined4 uStack_150;" type_identifier identifier ;) (declaration "code *pcStack_148;" type_identifier (pointer_declarator "*pcStack_148" * identifier) ;) (declaration "code *****pppppcStack_140;" type_identifier (pointer_declarator "*****pppppcStack_140" * (pointer_declarator "****pppppcStack_140" * (pointer_declarator "***pppppcStack_140" * (pointer_declarator "**pppppcStack_140" * (pointer_declarator "*pppppcStack_140" * identifier))))) ;) (declaration "code *pcStack_13c;" type_identifier (pointer_declarator "*pcStack_13c" * identifier) ;) (declaration "int iStack_138;" primitive_type identifier ;) (declaration "int iStack_134;" primitive_type identifier ;) (declaration "code ****ppppcStack_12c;" type_identifier (pointer_declarator "****ppppcStack_12c" * (pointer_declarator "***ppppcStack_12c" * (pointer_declarator "**ppppcStack_12c" * (pointer_declarator "*ppppcStack_12c" * identifier)))) ;) (declaration "undefined1 auStack_128 [4];" type_identifier (array_declarator "auStack_128 [4]" identifier [ number_literal ]) ;) (declaration "code ****ppppcStack_124;" type_identifier (pointer_declarator "****ppppcStack_124" * (pointer_declarator "***ppppcStack_124" * (pointer_declarator "**ppppcStack_124" * (pointer_declarator "*ppppcStack_124" * identifier)))) ;) (declaration "code *****pppppcStack_11c;" type_identifier (pointer_declarator "*****pppppcStack_11c" * (pointer_declarator "****pppppcStack_11c" * (pointer_declarator "***pppppcStack_11c" * (pointer_declarator "**pppppcStack_11c" * (pointer_declarator "*pppppcStack_11c" * identifier))))) ;) (declaration "code *****pppppcStack_118;" type_identifier (pointer_declarator "*****pppppcStack_118" * (pointer_declarator "****pppppcStack_118" * (pointer_declarator "***pppppcStack_118" * (pointer_declarator "**pppppcStack_118" * (pointer_declarator "*pppppcStack_118" * identifier))))) ;) (declaration "code *****pppppcStack_114;" type_identifier (pointer_declarator "*****pppppcStack_114" * (pointer_declarator "****pppppcStack_114" * (pointer_declarator "***pppppcStack_114" * (pointer_declarator "**pppppcStack_114" * (pointer_declarator "*pppppcStack_114" * identifier))))) ;) (declaration "code *****pppppcStack_110;" type_identifier (pointer_declarator "*****pppppcStack_110" * (pointer_declarator "****pppppcStack_110" * (pointer_declarator "***pppppcStack_110" * (pointer_declarator "**pppppcStack_110" * (pointer_declarator "*pppppcStack_110" * identifier))))) ;) (declaration "code *****pppppcStack_10c;" type_identifier (pointer_declarator "*****pppppcStack_10c" * (pointer_declarator "****pppppcStack_10c" * (pointer_declarator "***pppppcStack_10c" * (pointer_declarator "**pppppcStack_10c" * (pointer_declarator "*pppppcStack_10c" * identifier))))) ;) (declaration "code *****pppppcStack_108;" type_identifier (pointer_declarator "*****pppppcStack_108" * (pointer_declarator "****pppppcStack_108" * (pointer_declarator "***pppppcStack_108" * (pointer_declarator "**pppppcStack_108" * (pointer_declarator "*pppppcStack_108" * identifier))))) ;) (declaration "code *****pppppcStack_104;" type_identifier (pointer_declarator "*****pppppcStack_104" * (pointer_declarator "****pppppcStack_104" * (pointer_declarator "***pppppcStack_104" * (pointer_declarator "**pppppcStack_104" * (pointer_declarator "*pppppcStack_104" * identifier))))) ;) (declaration "int iStack_e0;" primitive_type identifier ;) (declaration "code *****pppppcStack_c8;" type_identifier (pointer_declarator "*****pppppcStack_c8" * (pointer_declarator "****pppppcStack_c8" * (pointer_declarator "***pppppcStack_c8" * (pointer_declarator "**pppppcStack_c8" * (pointer_declarator "*pppppcStack_c8" * identifier))))) ;) (declaration "code *****pppppcStack_c4;" type_identifier (pointer_declarator "*****pppppcStack_c4" * (pointer_declarator "****pppppcStack_c4" * (pointer_declarator "***pppppcStack_c4" * (pointer_declarator "**pppppcStack_c4" * (pointer_declarator "*pppppcStack_c4" * identifier))))) ;) (declaration "code ****ppppcStack_c0;" type_identifier (pointer_declarator "****ppppcStack_c0" * (pointer_declarator "***ppppcStack_c0" * (pointer_declarator "**ppppcStack_c0" * (pointer_declarator "*ppppcStack_c0" * identifier)))) ;) (declaration "code *****pppppcStack_bc;" type_identifier (pointer_declarator "*****pppppcStack_bc" * (pointer_declarator "****pppppcStack_bc" * (pointer_declarator "***pppppcStack_bc" * (pointer_declarator "**pppppcStack_bc" * (pointer_declarator "*pppppcStack_bc" * identifier))))) ;) (declaration "code *****pppppcStack_b8;" type_identifier (pointer_declarator "*****pppppcStack_b8" * (pointer_declarator "****pppppcStack_b8" * (pointer_declarator "***pppppcStack_b8" * (pointer_declarator "**pppppcStack_b8" * (pointer_declarator "*pppppcStack_b8" * identifier))))) ;) (declaration "code *****pppppcStack_b4;" type_identifier (pointer_declarator "*****pppppcStack_b4" * (pointer_declarator "****pppppcStack_b4" * (pointer_declarator "***pppppcStack_b4" * (pointer_declarator "**pppppcStack_b4" * (pointer_declarator "*pppppcStack_b4" * identifier))))) ;) (declaration "code *****pppppcStack_b0;" type_identifier (pointer_declarator "*****pppppcStack_b0" * (pointer_declarator "****pppppcStack_b0" * (pointer_declarator "***pppppcStack_b0" * (pointer_declarator "**pppppcStack_b0" * (pointer_declarator "*pppppcStack_b0" * identifier))))) ;) (declaration "code *pcStack_ac;" type_identifier (pointer_declarator "*pcStack_ac" * identifier) ;) (declaration "code *pcStack_98;" type_identifier (pointer_declarator "*pcStack_98" * identifier) ;) (declaration "code *****pppppcStack_90;" type_identifier (pointer_declarator "*****pppppcStack_90" * (pointer_declarator "****pppppcStack_90" * (pointer_declarator "***pppppcStack_90" * (pointer_declarator "**pppppcStack_90" * (pointer_declarator "*pppppcStack_90" * identifier))))) ;) (declaration "code *****pppppcStack_8c;" type_identifier (pointer_declarator "*****pppppcStack_8c" * (pointer_declarator "****pppppcStack_8c" * (pointer_declarator "***pppppcStack_8c" * (pointer_declarator "**pppppcStack_8c" * (pointer_declarator "*pppppcStack_8c" * identifier))))) ;) (declaration "code *****pppppcStack_84;" type_identifier (pointer_declarator "*****pppppcStack_84" * (pointer_declarator "****pppppcStack_84" * (pointer_declarator "***pppppcStack_84" * (pointer_declarator "**pppppcStack_84" * (pointer_declarator "*pppppcStack_84" * identifier))))) ;) (declaration "uint *puStack_80;" type_identifier (pointer_declarator "*puStack_80" * identifier) ;) (declaration "code *****pppppcStack_7c;" type_identifier (pointer_declarator "*****pppppcStack_7c" * (pointer_declarator "****pppppcStack_7c" * (pointer_declarator "***pppppcStack_7c" * (pointer_declarator "**pppppcStack_7c" * (pointer_declarator "*pppppcStack_7c" * identifier))))) ;) (declaration "code *****pppppcStack_78;" type_identifier (pointer_declarator "*****pppppcStack_78" * (pointer_declarator "****pppppcStack_78" * (pointer_declarator "***pppppcStack_78" * (pointer_declarator "**pppppcStack_78" * (pointer_declarator "*pppppcStack_78" * identifier))))) ;) (declaration "code *****pppppcStack_50;" type_identifier (pointer_declarator "*****pppppcStack_50" * (pointer_declarator "****pppppcStack_50" * (pointer_declarator "***pppppcStack_50" * (pointer_declarator "**pppppcStack_50" * (pointer_declarator "*pppppcStack_50" * identifier))))) ;) (declaration "code ****ppppcStack_4c;" type_identifier (pointer_declarator "****ppppcStack_4c" * (pointer_declarator "***ppppcStack_4c" * (pointer_declarator "**ppppcStack_4c" * (pointer_declarator "*ppppcStack_4c" * identifier)))) ;) (declaration "undefined *puStack_44;" type_identifier (pointer_declarator "*puStack_44" * identifier) ;) (declaration "int *piStack_40;" primitive_type (pointer_declarator "*piStack_40" * identifier) ;) (declaration "code *****local_18;" type_identifier (pointer_declarator "*****local_18" * (pointer_declarator "****local_18" * (pointer_declarator "***local_18" * (pointer_declarator "**local_18" * (pointer_declarator "*local_18" * identifier))))) ;) (declaration "code *****local_14;" type_identifier (pointer_declarator "*****local_14" * (pointer_declarator "****local_14" * (pointer_declarator "***local_14" * (pointer_declarator "**local_14" * (pointer_declarator "*local_14" * identifier))))) ;) (expression_statement "puVar3 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar3 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "ppppppcVar21 = &local_18;" (assignment_expression "ppppppcVar21 = &local_18" identifier = (pointer_expression "&local_18" & identifier)) ;) (expression_statement "local_14 = *(code ******)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_14 = *(code ******)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(code ******)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(code ******)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier))) ;) (expression_statement "iVar4 = FUN_000f7f20();" (assignment_expression "iVar4 = FUN_000f7f20()" identifier = (call_expression "FUN_000f7f20()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n    (*(code *)PTR_sqlite3_step_0015b630)(local_18);\n    iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    param_2 = (code ******)local_18;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR_sqlite3_step_0015b630)(local_18);\n    iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    param_2 = (code ******)local_18;\n  }" { (expression_statement "(*(code *)PTR_sqlite3_step_0015b630)(local_18);" (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(local_18)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_18)" ( identifier ))) ;) (expression_statement "iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();" (assignment_expression "iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)()" identifier = (call_expression "(*(code *)PTR_sqlite3_reset_0015b648)()" (parenthesized_expression "(*(code *)PTR_sqlite3_reset_0015b648)" ( (pointer_expression "*(code *)PTR_sqlite3_reset_0015b648" * (cast_expression "(code *)PTR_sqlite3_reset_0015b648" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "param_2 = (code ******)local_18;" (assignment_expression "param_2 = (code ******)local_18" identifier = (cast_expression "(code ******)local_18" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) })) (expression_statement "*param_1 = iVar4;" (assignment_expression "*param_1 = iVar4" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "ppppppcVar5 = *(code *******)puVar3;" (assignment_expression "ppppppcVar5 = *(code *******)puVar3" identifier = (pointer_expression "*(code *******)puVar3" * (cast_expression "(code *******)puVar3" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ;) (if_statement "if ((code ******)local_14 == ppppppcVar5) {\n    return ppppppcVar5;\n  }" if (parenthesized_expression "((code ******)local_14 == ppppppcVar5)" ( (binary_expression "(code ******)local_14 == ppppppcVar5" (cast_expression "(code ******)local_14" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == identifier) )) (compound_statement "{\n    return ppppppcVar5;\n  }" { (return_statement "return ppppppcVar5;" return identifier ;) })) (expression_statement "puVar39 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar39 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_44 = puVar3;" (assignment_expression "puStack_44 = puVar3" identifier = identifier) ;) (expression_statement "puVar30 = *(uint **)(puVar39 + 0x549c8);" (assignment_expression "puVar30 = *(uint **)(puVar39 + 0x549c8)" identifier = (pointer_expression "*(uint **)(puVar39 + 0x549c8)" * (cast_expression "(uint **)(puVar39 + 0x549c8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar39 + 0x549c8)" ( (binary_expression "puVar39 + 0x549c8" identifier + number_literal) ))))) ;) (expression_statement "pppppcStack_50 = (code *****)0x0;" (assignment_expression "pppppcStack_50 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppcStack_4c = (code ****)*puVar30;" (assignment_expression "ppppcStack_4c = (code ****)*puVar30" identifier = (cast_expression "(code ****)*puVar30" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*puVar30" * identifier))) ;) (expression_statement "ppppppcVar5 = param_3;" (assignment_expression "ppppppcVar5 = param_3" identifier = identifier) ;) (expression_statement "piStack_40 = param_1;" (assignment_expression "piStack_40 = param_1" identifier = identifier) ;) (expression_statement "(*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))();" (call_expression "(*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))()" (parenthesized_expression "(*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))" ( (pointer_expression "*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4)" * (cast_expression "(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar39 + 0x54674) + -0x38a4)" ( (binary_expression "*(int *)(puVar39 + 0x54674) + -0x38a4" (pointer_expression "*(int *)(puVar39 + 0x54674)" * (cast_expression "(int *)(puVar39 + 0x54674)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar39 + 0x54674)" ( (binary_expression "puVar39 + 0x54674" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (if_statement "if (param_3 == (code ******)0x0) {\nLAB_00107118:\n    param_3 = *(code *******)(puVar39 + 0x5466c);\n    if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;\n    unaff_s3 = &pppppcStack_50;\n    param_4 = (code ******)0x0;\n    ppppppcVar21 = (code ******)0x3;\n    param_3 = param_3 + 0x1bee;\n    ppppppcVar5 = param_2;\n    FUN_00106fb8(unaff_s3);\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }\n  }\n  else {\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }\n  }" if (parenthesized_expression "(param_3 == (code ******)0x0)" ( (binary_expression "param_3 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\nLAB_00107118:\n    param_3 = *(code *******)(puVar39 + 0x5466c);\n    if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;\n    unaff_s3 = &pppppcStack_50;\n    param_4 = (code ******)0x0;\n    ppppppcVar21 = (code ******)0x3;\n    param_3 = param_3 + 0x1bee;\n    ppppppcVar5 = param_2;\n    FUN_00106fb8(unaff_s3);\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }\n  }" { (labeled_statement "LAB_00107118:\n    param_3 = *(code *******)(puVar39 + 0x5466c);" statement_identifier : (expression_statement "param_3 = *(code *******)(puVar39 + 0x5466c);" (assignment_expression "param_3 = *(code *******)(puVar39 + 0x5466c)" identifier = (pointer_expression "*(code *******)(puVar39 + 0x5466c)" * (cast_expression "(code *******)(puVar39 + 0x5466c)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar39 + 0x5466c)" ( (binary_expression "puVar39 + 0x5466c" identifier + number_literal) ))))) ;)) (if_statement "if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;" if (parenthesized_expression "((code ******)pppppcStack_50 != (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_50 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_50" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_001070c8;" goto statement_identifier ;)) (expression_statement "unaff_s3 = &pppppcStack_50;" (assignment_expression "unaff_s3 = &pppppcStack_50" identifier = (pointer_expression "&pppppcStack_50" & identifier)) ;) (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar21 = (code ******)0x3;" (assignment_expression "ppppppcVar21 = (code ******)0x3" identifier = (cast_expression "(code ******)0x3" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "param_3 = param_3 + 0x1bee;" (assignment_expression "param_3 = param_3 + 0x1bee" identifier = (binary_expression "param_3 + 0x1bee" identifier + number_literal)) ;) (expression_statement "ppppppcVar5 = param_2;" (assignment_expression "ppppppcVar5 = param_2" identifier = identifier) ;) (expression_statement "FUN_00106fb8(unaff_s3);" (call_expression "FUN_00106fb8(unaff_s3)" identifier (argument_list "(unaff_s3)" ( identifier ))) ;) (if_statement "if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }" if (parenthesized_expression "((code ******)pppppcStack_50 == (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_50 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_50" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }" { (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar21 = (code ******)&DAT_00000004;" (assignment_expression "ppppppcVar21 = (code ******)&DAT_00000004" identifier = (cast_expression "(code ******)&DAT_00000004" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000004" & identifier))) ;) (expression_statement "ppppppcVar5 = param_2;" (assignment_expression "ppppppcVar5 = param_2" identifier = identifier) ;) (expression_statement "FUN_00106fb8(unaff_s3);" (call_expression "FUN_00106fb8(unaff_s3)" identifier (argument_list "(unaff_s3)" ( identifier ))) ;) (if_statement "if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }" if (parenthesized_expression "(*(code *)((int)param_2 + 0xea) != (code)0x0)" ( (binary_expression "*(code *)((int)param_2 + 0xea) != (code)0x0" (pointer_expression "*(code *)((int)param_2 + 0xea)" * (cast_expression "(code *)((int)param_2 + 0xea)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0xea)" ( (binary_expression "(int)param_2 + 0xea" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }" { (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;" if (parenthesized_expression "((code ******)pppppcStack_50 != (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_50 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_50" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_001070d4;" goto statement_identifier ;)) (expression_statement "ppppppcVar21 = (code ******)&DAT_00000005;" (assignment_expression "ppppppcVar21 = (code ******)&DAT_00000005" identifier = (cast_expression "(code ******)&DAT_00000005" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000005" & identifier))) ;) (expression_statement "ppppppcVar5 = param_2;" (assignment_expression "ppppppcVar5 = param_2" identifier = identifier) ;) (expression_statement "FUN_00106fb8(unaff_s3);" (call_expression "FUN_00106fb8(unaff_s3)" identifier (argument_list "(unaff_s3)" ( identifier ))) ;) })) (goto_statement "goto LAB_0010719c;" goto statement_identifier ;) })) }) (else_clause "else {\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }\n  }" else (compound_statement "{\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }\n  }" { (if_statement "if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }" if (parenthesized_expression "((code ******)pppppcStack_50 == (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_50 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_50" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }" { (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar21 = (code ******)&SUB_00000002;" (assignment_expression "ppppppcVar21 = (code ******)&SUB_00000002" identifier = (cast_expression "(code ******)&SUB_00000002" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "ppppppcVar5 = param_2;" (assignment_expression "ppppppcVar5 = param_2" identifier = identifier) ;) (expression_statement "FUN_00106fb8(&pppppcStack_50);" (call_expression "FUN_00106fb8(&pppppcStack_50)" identifier (argument_list "(&pppppcStack_50)" ( (pointer_expression "&pppppcStack_50" & identifier) ))) ;) (goto_statement "goto LAB_00107118;" goto statement_identifier ;) })) (labeled_statement "LAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }" statement_identifier : (if_statement "if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }" if (parenthesized_expression "(*(code *)((int)param_2 + 0xea) == (code)0x0)" ( (binary_expression "*(code *)((int)param_2 + 0xea) == (code)0x0" (pointer_expression "*(code *)((int)param_2 + 0xea)" * (cast_expression "(code *)((int)param_2 + 0xea)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0xea)" ( (binary_expression "(int)param_2 + 0xea" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }" { (labeled_statement "LAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }" statement_identifier : (if_statement "if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }" if (parenthesized_expression "((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0))" ( (binary_expression "(*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)" (parenthesized_expression "(*(code *)((int)param_2 + 0xe9) != (code)0x0)" ( (binary_expression "*(code *)((int)param_2 + 0xe9) != (code)0x0" (pointer_expression "*(code *)((int)param_2 + 0xe9)" * (cast_expression "(code *)((int)param_2 + 0xe9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0xe9)" ( (binary_expression "(int)param_2 + 0xe9" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) && (parenthesized_expression "((code ******)pppppcStack_50 == (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_50 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_50" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) )) (compound_statement "{\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }" { (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar21 = (code ******)&DAT_00000006;" (assignment_expression "ppppppcVar21 = (code ******)&DAT_00000006" identifier = (cast_expression "(code ******)&DAT_00000006" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000006" & identifier))) ;) (expression_statement "ppppppcVar5 = param_2;" (assignment_expression "ppppppcVar5 = param_2" identifier = identifier) ;) (expression_statement "FUN_00106fb8(&pppppcStack_50);" (call_expression "FUN_00106fb8(&pppppcStack_50)" identifier (argument_list "(&pppppcStack_50)" ( (pointer_expression "&pppppcStack_50" & identifier) ))) ;) }))) }))) }))) (labeled_statement "LAB_001070d4:\n  if ((code *****)ppppcStack_4c == (code *****)*puVar30) {\n    return (code ******)pppppcStack_50;\n  }" statement_identifier : (if_statement "if ((code *****)ppppcStack_4c == (code *****)*puVar30) {\n    return (code ******)pppppcStack_50;\n  }" if (parenthesized_expression "((code *****)ppppcStack_4c == (code *****)*puVar30)" ( (binary_expression "(code *****)ppppcStack_4c == (code *****)*puVar30" (cast_expression "(code *****)ppppcStack_4c" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(code *****)*puVar30" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*puVar30" * identifier))) )) (compound_statement "{\n    return (code ******)pppppcStack_50;\n  }" { (return_statement "return (code ******)pppppcStack_50;" return (cast_expression "(code ******)pppppcStack_50" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) ;) }))) (expression_statement "pcVar40 = *(code **)(puVar39 + 0x549ac);" (assignment_expression "pcVar40 = *(code **)(puVar39 + 0x549ac)" identifier = (pointer_expression "*(code **)(puVar39 + 0x549ac)" * (cast_expression "(code **)(puVar39 + 0x549ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar39 + 0x549ac)" ( (binary_expression "puVar39 + 0x549ac" identifier + number_literal) ))))) ;) (expression_statement "pppppcVar25 = (code *****)ppppcStack_4c;" (assignment_expression "pppppcVar25 = (code *****)ppppcStack_4c" identifier = (cast_expression "(code *****)ppppcStack_4c" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_98 = pcVar40 + 0x5c3d0;" (assignment_expression "pcStack_98 = pcVar40 + 0x5c3d0" identifier = (binary_expression "pcVar40 + 0x5c3d0" identifier + number_literal)) ;) (expression_statement "ppppppcVar31 = *(code *******)(pcVar40 + 0x5484c);" (assignment_expression "ppppppcVar31 = *(code *******)(pcVar40 + 0x5484c)" identifier = (pointer_expression "*(code *******)(pcVar40 + 0x5484c)" * (cast_expression "(code *******)(pcVar40 + 0x5484c)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(pcVar40 + 0x5484c)" ( (binary_expression "pcVar40 + 0x5484c" identifier + number_literal) ))))) ;) (expression_statement "pppppcStack_8c = *ppppppcVar31;" (assignment_expression "pppppcStack_8c = *ppppppcVar31" identifier = (pointer_expression "*ppppppcVar31" * identifier)) ;) (expression_statement "pppppcStack_84 = (code *****)param_2;" (assignment_expression "pppppcStack_84 = (code *****)param_2" identifier = (cast_expression "(code *****)param_2" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "puStack_80 = puVar30;" (assignment_expression "puStack_80 = puVar30" identifier = identifier) ;) (expression_statement "pppppcStack_7c = (code *****)param_3;" (assignment_expression "pppppcStack_7c = (code *****)param_3" identifier = (cast_expression "(code *****)param_3" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_78 = (code *****)unaff_s3;" (assignment_expression "pppppcStack_78 = (code *****)unaff_s3" identifier = (cast_expression "(code *****)unaff_s3" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if (pppppcVar25[10] == (code ****)0x0) {\n    param_4 = ppppppcVar5 + 1;\n    ppppppcVar38 = &pppppcStack_90;\n    ppppppcVar17 = (code ******)0x12;\n    ppppppcVar33 = (code ******)FUN_000f7f20();\n    pppppcVar29 = pppppcStack_90;\n    if (ppppppcVar33 == (code ******)0x0) {\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];\n    ppppppcVar17 = ppppppcVar5;\n    ppppppcVar38 = ppppppcVar21;\n    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);\n    if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }\n  }" if (parenthesized_expression "(pppppcVar25[10] == (code ****)0x0)" ( (binary_expression "pppppcVar25[10] == (code ****)0x0" (subscript_expression "pppppcVar25[10]" identifier [ number_literal ]) == (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    param_4 = ppppppcVar5 + 1;\n    ppppppcVar38 = &pppppcStack_90;\n    ppppppcVar17 = (code ******)0x12;\n    ppppppcVar33 = (code ******)FUN_000f7f20();\n    pppppcVar29 = pppppcStack_90;\n    if (ppppppcVar33 == (code ******)0x0) {\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }" { (expression_statement "param_4 = ppppppcVar5 + 1;" (assignment_expression "param_4 = ppppppcVar5 + 1" identifier = (binary_expression "ppppppcVar5 + 1" identifier + number_literal)) ;) (expression_statement "ppppppcVar38 = &pppppcStack_90;" (assignment_expression "ppppppcVar38 = &pppppcStack_90" identifier = (pointer_expression "&pppppcStack_90" & identifier)) ;) (expression_statement "ppppppcVar17 = (code ******)0x12;" (assignment_expression "ppppppcVar17 = (code ******)0x12" identifier = (cast_expression "(code ******)0x12" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar33 = (code ******)FUN_000f7f20();" (assignment_expression "ppppppcVar33 = (code ******)FUN_000f7f20()" identifier = (cast_expression "(code ******)FUN_000f7f20()" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000f7f20()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pppppcVar29 = pppppcStack_90;" (assignment_expression "pppppcVar29 = pppppcStack_90" identifier = identifier) ;) (if_statement "if (ppppppcVar33 == (code ******)0x0) {\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }" if (parenthesized_expression "(ppppppcVar33 == (code ******)0x0)" ( (binary_expression "ppppppcVar33 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }" { (expression_statement "ppppcVar34 = pppppcVar25[6];" (assignment_expression "ppppcVar34 = pppppcVar25[6]" identifier = (subscript_expression "pppppcVar25[6]" identifier [ number_literal ])) ;) (if_statement "if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }" if (parenthesized_expression "(pppppcVar25[0xb] != (code ****)0x0)" ( (binary_expression "pppppcVar25[0xb] != (code ****)0x0" (subscript_expression "pppppcVar25[0xb]" identifier [ number_literal ]) != (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }" { (expression_statement "ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);" (assignment_expression "ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)])" identifier = (cast_expression "(code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)])" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)])" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7e7c))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7e7c)" * (pointer_expression "*(code **)(pcStack_98 + -0x7e7c)" * (cast_expression "(code **)(pcStack_98 + -0x7e7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7e7c)" ( (binary_expression "pcStack_98 + -0x7e7c" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5[(int)(ppppcVar34 + 1)])" ( (subscript_expression "ppppppcVar5[(int)(ppppcVar34 + 1)]" identifier [ (cast_expression "(int)(ppppcVar34 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppppcVar34 + 1)" ( (binary_expression "ppppcVar34 + 1" identifier + number_literal) ))) ]) ))))) ;) (expression_statement "ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);" (assignment_expression "ppppppcVar17 = (code ******)((int)ppppcVar34 + 2)" identifier = (cast_expression "(code ******)((int)ppppcVar34 + 2)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppcVar34 + 2)" ( (binary_expression "(int)ppppcVar34 + 2" (cast_expression "(int)ppppcVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);" (assignment_expression "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29)" identifier = (cast_expression "(code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7d0c))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7d0c)" * (pointer_expression "*(code **)(pcStack_98 + -0x7d0c)" * (cast_expression "(code **)(pcStack_98 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7d0c)" ( (binary_expression "pcStack_98 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(pppppcVar29)" ( identifier ))))) ;) (expression_statement "unaff_s5 = (code ******)pppppcVar29;" (assignment_expression "unaff_s5 = (code ******)pppppcVar29" identifier = (cast_expression "(code ******)pppppcVar29" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (if_statement "if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;" if (parenthesized_expression "(ppppppcVar33 != (code ******)0x0)" ( (binary_expression "ppppppcVar33 != (code ******)0x0" identifier != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_00107278;" goto statement_identifier ;)) (expression_statement "ppppcVar34 = pppppcVar25[6];" (assignment_expression "ppppcVar34 = pppppcVar25[6]" identifier = (subscript_expression "pppppcVar25[6]" identifier [ number_literal ])) ;) })) (expression_statement "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);" (assignment_expression "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3])" identifier = (call_expression "(**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3])" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fb8))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7fb8)" * (pointer_expression "*(code **)(pcStack_98 + -0x7fb8)" * (cast_expression "(code **)(pcStack_98 + -0x7fb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7fb8)" ( (binary_expression "pcStack_98 + -0x7fb8" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5[(int)ppppcVar34 + 3])" ( (subscript_expression "ppppppcVar5[(int)ppppcVar34 + 3]" identifier [ (binary_expression "(int)ppppcVar34 + 3" (cast_expression "(int)ppppcVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) )))) ;) (if_statement "if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }" if (parenthesized_expression "(iVar4 == 5)" ( (binary_expression "iVar4 == 5" identifier == number_literal) )) (compound_statement "{\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }" { (labeled_statement "LAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);" statement_identifier : (expression_statement "(**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);" (call_expression "(**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_98 + -0x7f80)" * (cast_expression "(code **)(pcStack_98 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7f80)" ( (binary_expression "pcStack_98 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_90)" ( identifier ))) ;)) (expression_statement "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);" (assignment_expression "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90)" identifier = (cast_expression "(code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7f68))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7f68)" * (pointer_expression "*(code **)(pcStack_98 + -0x7f68)" * (cast_expression "(code **)(pcStack_98 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7f68)" ( (binary_expression "pcStack_98 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_90)" ( identifier ))))) ;) (expression_statement "uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);" (assignment_expression "uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3])" identifier = (call_expression "(**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3])" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7ec0))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7ec0)" * (pointer_expression "*(code **)(pcStack_98 + -0x7ec0)" * (cast_expression "(code **)(pcStack_98 + -0x7ec0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7ec0)" ( (binary_expression "pcStack_98 + -0x7ec0" identifier + number_literal) ))))) )) (argument_list "(pppppcVar25[3])" ( (subscript_expression "pppppcVar25[3]" identifier [ number_literal ]) )))) ;) (expression_statement "*(undefined8 *)ppppppcVar21 = uVar44;" (assignment_expression "*(undefined8 *)ppppppcVar21 = uVar44" (pointer_expression "*(undefined8 *)ppppppcVar21" * (cast_expression "(undefined8 *)ppppppcVar21" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }" else (compound_statement "{\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }" { (expression_statement "unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);" (assignment_expression "unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5)" identifier = (cast_expression "(code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fb8))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7fb8)" * (pointer_expression "*(code **)(pcStack_98 + -0x7fb8)" * (cast_expression "(code **)(pcStack_98 + -0x7fb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7fb8)" ( (binary_expression "pcStack_98 + -0x7fb8" identifier + number_literal) ))))) )) (argument_list "(*ppppppcVar5)" ( (pointer_expression "*ppppppcVar5" * identifier) ))))) ;) (if_statement "if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }" if (parenthesized_expression "((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5))" ( (binary_expression "(unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)" (parenthesized_expression "(unaff_s5 == (code ******)&DAT_00000005)" ( (binary_expression "unaff_s5 == (code ******)&DAT_00000005" identifier == (cast_expression "(code ******)&DAT_00000005" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000005" & identifier))) )) && (parenthesized_expression "(iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)" ( (comma_expression "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5" (assignment_expression "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1])" identifier = (call_expression "(**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1])" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fb8))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7fb8)" * (pointer_expression "*(code **)(pcStack_98 + -0x7fb8)" * (cast_expression "(code **)(pcStack_98 + -0x7fb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7fb8)" ( (binary_expression "pcStack_98 + -0x7fb8" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5[1])" ( (subscript_expression "ppppppcVar5[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar4 != 5" identifier != number_literal)) ))) )) (compound_statement "{\n          ppppppcVar33 = (code ******)0x1;\n        }" { (expression_statement "ppppppcVar33 = (code ******)0x1;" (assignment_expression "ppppppcVar33 = (code ******)0x1" identifier = (cast_expression "(code ******)0x1" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) }) (else_clause "else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }" else (compound_statement "{\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }" { (expression_statement "ppppppcVar17 = (code ******)0x1;" (assignment_expression "ppppppcVar17 = (code ******)0x1" identifier = (cast_expression "(code ******)0x1" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;" (assignment_expression "ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3" identifier = (binary_expression "ppppppcVar5 + (int)pppppcVar25[6] + 3" (binary_expression "ppppppcVar5 + (int)pppppcVar25[6]" identifier + (cast_expression "(int)pppppcVar25[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppcVar25[6]" identifier [ number_literal ]))) + number_literal)) ;) (expression_statement "ppppppcVar38 = (code ******)*ppppppcVar5;" (assignment_expression "ppppppcVar38 = (code ******)*ppppppcVar5" identifier = (cast_expression "(code ******)*ppppppcVar5" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppcVar5" * identifier))) ;) (expression_statement "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);" (assignment_expression "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90)" identifier = (cast_expression "(code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7da4))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7da4)" * (pointer_expression "*(code **)(pcStack_98 + -0x7da4)" * (cast_expression "(code **)(pcStack_98 + -0x7da4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7da4)" ( (binary_expression "pcStack_98 + -0x7da4" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_90)" ( identifier ))))) ;) (if_statement "if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;" if (parenthesized_expression "(ppppppcVar33 == (code ******)0x0)" ( (binary_expression "ppppppcVar33 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_001073c8;" goto statement_identifier ;)) }))) }))) })) }) (else_clause "else {\n    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];\n    ppppppcVar17 = ppppppcVar5;\n    ppppppcVar38 = ppppppcVar21;\n    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);\n    if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }\n  }" else (compound_statement "{\n    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];\n    ppppppcVar17 = ppppppcVar5;\n    ppppppcVar38 = ppppppcVar21;\n    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);\n    if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }\n  }" { (expression_statement "pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];" (assignment_expression "pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3]" identifier = (subscript_expression "ppppppcVar5[(int)pppppcVar25[6] + 3]" identifier [ (binary_expression "(int)pppppcVar25[6] + 3" (cast_expression "(int)pppppcVar25[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppcVar25[6]" identifier [ number_literal ])) + number_literal) ])) ;) (expression_statement "ppppppcVar17 = ppppppcVar5;" (assignment_expression "ppppppcVar17 = ppppppcVar5" identifier = identifier) ;) (expression_statement "ppppppcVar38 = ppppppcVar21;" (assignment_expression "ppppppcVar38 = ppppppcVar21" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);" (assignment_expression "iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25)" identifier = (call_expression "(**(code **)(pcVar40 + 0x54418))(pppppcVar25)" (parenthesized_expression "(**(code **)(pcVar40 + 0x54418))" ( (pointer_expression "**(code **)(pcVar40 + 0x54418)" * (pointer_expression "*(code **)(pcVar40 + 0x54418)" * (cast_expression "(code **)(pcVar40 + 0x54418)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x54418)" ( (binary_expression "pcVar40 + 0x54418" identifier + number_literal) ))))) )) (argument_list "(pppppcVar25)" ( identifier )))) ;) (if_statement "if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }" if (parenthesized_expression "(iVar4 == 5)" ( (binary_expression "iVar4 == 5" identifier == number_literal) )) (compound_statement "{\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }" { (expression_statement "pppppcVar25 = ppppppcVar5[1];" (assignment_expression "pppppcVar25 = ppppppcVar5[1]" identifier = (subscript_expression "ppppppcVar5[1]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);" (assignment_expression "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25)" identifier = (call_expression "(**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fb8))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7fb8)" * (pointer_expression "*(code **)(pcStack_98 + -0x7fb8)" * (cast_expression "(code **)(pcStack_98 + -0x7fb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7fb8)" ( (binary_expression "pcStack_98 + -0x7fb8" identifier + number_literal) ))))) )) (argument_list "(pppppcVar25)" ( identifier )))) ;) }) (else_clause "else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }" else (compound_statement "{\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }" { (expression_statement "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);" (assignment_expression "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25)" identifier = (call_expression "(**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fb8))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7fb8)" * (pointer_expression "*(code **)(pcStack_98 + -0x7fb8)" * (cast_expression "(code **)(pcStack_98 + -0x7fb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7fb8)" ( (binary_expression "pcStack_98 + -0x7fb8" identifier + number_literal) ))))) )) (argument_list "(pppppcVar25)" ( identifier )))) ;) }))) (if_statement "if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }" if (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) )) (compound_statement "{\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }" { (expression_statement "ppppppcVar33 = (code ******)0x0;" (assignment_expression "ppppppcVar33 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);" (assignment_expression "uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25)" identifier = (call_expression "(**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fa8))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7fa8)" * (pointer_expression "*(code **)(pcStack_98 + -0x7fa8)" * (cast_expression "(code **)(pcStack_98 + -0x7fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7fa8)" ( (binary_expression "pcStack_98 + -0x7fa8" identifier + number_literal) ))))) )) (argument_list "(pppppcVar25)" ( identifier )))) ;) (expression_statement "*(undefined8 *)ppppppcVar21 = uVar44;" (assignment_expression "*(undefined8 *)ppppppcVar21 = uVar44" (pointer_expression "*(undefined8 *)ppppppcVar21" * (cast_expression "(undefined8 *)ppppppcVar21" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }" else (compound_statement "{\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }" { (expression_statement "ppppppcVar33 = (code ******)&DAT_00000013;" (assignment_expression "ppppppcVar33 = (code ******)&DAT_00000013" identifier = (cast_expression "(code ******)&DAT_00000013" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000013" & identifier))) ;) }))) }))) (labeled_statement "LAB_00107278:\n  if (pppppcStack_8c == *ppppppcVar31) {\n    return ppppppcVar33;\n  }" statement_identifier : (if_statement "if (pppppcStack_8c == *ppppppcVar31) {\n    return ppppppcVar33;\n  }" if (parenthesized_expression "(pppppcStack_8c == *ppppppcVar31)" ( (binary_expression "pppppcStack_8c == *ppppppcVar31" identifier == (pointer_expression "*ppppppcVar31" * identifier)) )) (compound_statement "{\n    return ppppppcVar33;\n  }" { (return_statement "return ppppppcVar33;" return identifier ;) }))) (expression_statement "pcVar40 = *(code **)(pcStack_98 + -0x7ba0);" (assignment_expression "pcVar40 = *(code **)(pcStack_98 + -0x7ba0)" identifier = (pointer_expression "*(code **)(pcStack_98 + -0x7ba0)" * (cast_expression "(code **)(pcStack_98 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7ba0)" ( (binary_expression "pcStack_98 + -0x7ba0" identifier + number_literal) ))))) ;) (expression_statement "pcVar42 = FUN_00107430;" (assignment_expression "pcVar42 = FUN_00107430" identifier = identifier) ;) (expression_statement "ppppppcVar23 = (code ******)pppppcStack_8c;" (assignment_expression "ppppppcVar23 = (code ******)pppppcStack_8c" identifier = (cast_expression "(code ******)pppppcStack_8c" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "ppppppcVar35 = *(code *******)(pcVar40 + 0x545fc);" (assignment_expression "ppppppcVar35 = *(code *******)(pcVar40 + 0x545fc)" identifier = (pointer_expression "*(code *******)(pcVar40 + 0x545fc)" * (cast_expression "(code *******)(pcVar40 + 0x545fc)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(pcVar40 + 0x545fc)" ( (binary_expression "pcVar40 + 0x545fc" identifier + number_literal) ))))) ;) (expression_statement "ppppppcVar26 = (code ******)*ppppppcVar23;" (assignment_expression "ppppppcVar26 = (code ******)*ppppppcVar23" identifier = (cast_expression "(code ******)*ppppppcVar23" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppcVar23" * identifier))) ;) (expression_statement "pppppcStack_c4 = *ppppppcVar35;" (assignment_expression "pppppcStack_c4 = *ppppppcVar35" identifier = (pointer_expression "*ppppppcVar35" * identifier)) ;) (expression_statement "ppppppcVar32 = ppppppcVar23;" (assignment_expression "ppppppcVar32 = ppppppcVar23" identifier = identifier) ;) (expression_statement "ppppppcVar28 = ppppppcVar17;" (assignment_expression "ppppppcVar28 = ppppppcVar17" identifier = identifier) ;) (expression_statement "ppppcStack_c0 = (code ****)pppppcVar25;" (assignment_expression "ppppcStack_c0 = (code ****)pppppcVar25" identifier = (cast_expression "(code ****)pppppcVar25" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "pppppcStack_bc = (code *****)ppppppcVar31;" (assignment_expression "pppppcStack_bc = (code *****)ppppppcVar31" identifier = (cast_expression "(code *****)ppppppcVar31" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_b8 = (code *****)ppppppcVar33;" (assignment_expression "pppppcStack_b8 = (code *****)ppppppcVar33" identifier = (cast_expression "(code *****)ppppppcVar33" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_b4 = (code *****)ppppppcVar5;" (assignment_expression "pppppcStack_b4 = (code *****)ppppppcVar5" identifier = (cast_expression "(code *****)ppppppcVar5" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_b0 = (code *****)ppppppcVar21;" (assignment_expression "pppppcStack_b0 = (code *****)ppppppcVar21" identifier = (cast_expression "(code *****)ppppppcVar21" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_ac = pcVar42;" (assignment_expression "pcStack_ac = pcVar42" identifier = identifier) ;) (if_statement "if (ppppppcVar26 == (code ******)0x0) {\n    pppppcVar25 = ppppppcVar17[6];\n    param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);\n    ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);\n    ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2);\n    ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();\n    ppppppcVar21 = ppppppcVar23;\n    if (ppppppcVar31 == (code ******)0x0) {\n      *ppppppcVar23 = (code *****)0x7;\n    }\n    else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }\n  }" if (parenthesized_expression "(ppppppcVar26 == (code ******)0x0)" ( (binary_expression "ppppppcVar26 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    pppppcVar25 = ppppppcVar17[6];\n    param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);\n    ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);\n    ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2);\n    ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();\n    ppppppcVar21 = ppppppcVar23;\n    if (ppppppcVar31 == (code ******)0x0) {\n      *ppppppcVar23 = (code *****)0x7;\n    }\n    else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }\n  }" { (expression_statement "pppppcVar25 = ppppppcVar17[6];" (assignment_expression "pppppcVar25 = ppppppcVar17[6]" identifier = (subscript_expression "ppppppcVar17[6]" identifier [ number_literal ])) ;) (expression_statement "param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);" (assignment_expression "param_4 = (code ******)((uint)pppppcVar25 >> 0x1e)" identifier = (cast_expression "(code ******)((uint)pppppcVar25 >> 0x1e)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)pppppcVar25 >> 0x1e)" ( (binary_expression "(uint)pppppcVar25 >> 0x1e" (cast_expression "(uint)pppppcVar25" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);" (assignment_expression "ppppppcVar28 = (code ******)((int)pppppcVar25 * 10)" identifier = (cast_expression "(code ******)((int)pppppcVar25 * 10)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppcVar25 * 10)" ( (binary_expression "(int)pppppcVar25 * 10" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2);" (assignment_expression "ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2)" identifier = (cast_expression "(code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2)" ( (binary_expression "(uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2" (binary_expression "(uint)((int)pppppcVar25 * 5) >> 0x1f" (call_expression "(uint)((int)pppppcVar25 * 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppcVar25 * 5)" ( (binary_expression "(int)pppppcVar25 * 5" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) >> number_literal) | (binary_expression "((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2" (parenthesized_expression "((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f))" ( (binary_expression "(uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)" (binary_expression "(uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2)" (call_expression "(uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4))" ( (binary_expression "(uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)" (call_expression "(uint)((int)pppppcVar25 * 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppcVar25 * 5)" ( (binary_expression "(int)pppppcVar25 * 5" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) < (call_expression "(uint)((int)pppppcVar25 * 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppcVar25 * 4)" ( (binary_expression "(int)pppppcVar25 * 4" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ))) + (parenthesized_expression "((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2)" ( (binary_expression "(uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "((int)pppppcVar25 >> 0x1f) << 2" (parenthesized_expression "((int)pppppcVar25 >> 0x1f)" ( (binary_expression "(int)pppppcVar25 >> 0x1f" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) << number_literal)) ))) + (parenthesized_expression "((int)pppppcVar25 >> 0x1f)" ( (binary_expression "(int)pppppcVar25 >> 0x1f" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) * number_literal)) )))) ;) (expression_statement "ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();" (assignment_expression "ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))()" identifier = (cast_expression "(code ******)(**(code **)(pcVar40 + 0x54330))()" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar40 + 0x54330))()" (parenthesized_expression "(**(code **)(pcVar40 + 0x54330))" ( (pointer_expression "**(code **)(pcVar40 + 0x54330)" * (pointer_expression "*(code **)(pcVar40 + 0x54330)" * (cast_expression "(code **)(pcVar40 + 0x54330)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x54330)" ( (binary_expression "pcVar40 + 0x54330" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "ppppppcVar21 = ppppppcVar23;" (assignment_expression "ppppppcVar21 = ppppppcVar23" identifier = identifier) ;) (if_statement "if (ppppppcVar31 == (code ******)0x0) {\n      *ppppppcVar23 = (code *****)0x7;\n    }\n    else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }" if (parenthesized_expression "(ppppppcVar31 == (code ******)0x0)" ( (binary_expression "ppppppcVar31 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      *ppppppcVar23 = (code *****)0x7;\n    }" { (expression_statement "*ppppppcVar23 = (code *****)0x7;" (assignment_expression "*ppppppcVar23 = (code *****)0x7" (pointer_expression "*ppppppcVar23" * identifier) = (cast_expression "(code *****)0x7" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }" else (compound_statement "{\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }" { (if_statement "if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }" if (parenthesized_expression "(0 < (int)ppppppcVar17[6])" ( (binary_expression "0 < (int)ppppppcVar17[6]" number_literal < (cast_expression "(int)ppppppcVar17[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar17[6]" identifier [ number_literal ]))) )) (compound_statement "{\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }" { (expression_statement "ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];" (assignment_expression "ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6]" identifier = (binary_expression "ppppppcVar38 + (int)ppppppcVar17[6]" identifier + (cast_expression "(int)ppppppcVar17[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar17[6]" identifier [ number_literal ])))) ;) (expression_statement "ppppppcVar26 = (code ******)0x0;" (assignment_expression "ppppppcVar26 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (do_statement "do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);" do (compound_statement "{\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        }" { (expression_statement "pppppcVar25 = *ppppppcVar38;" (assignment_expression "pppppcVar25 = *ppppppcVar38" identifier = (pointer_expression "*ppppppcVar38" * identifier)) ;) (expression_statement "pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);" (assignment_expression "pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26)" identifier = (cast_expression "(code *)((int)ppppppcVar31 + (int)ppppppcVar26)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar31 + (int)ppppppcVar26)" ( (binary_expression "(int)ppppppcVar31 + (int)ppppppcVar26" (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (do_statement "do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);" do (compound_statement "{\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          }" { (expression_statement "pcVar43 = pcVar42;" (assignment_expression "pcVar43 = pcVar42" identifier = identifier) ;) (expression_statement "pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);" (assignment_expression "pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7)" identifier = (cast_expression "(code *****)((uint)pppppcVar25 >> 7)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((uint)pppppcVar25 >> 7)" ( (binary_expression "(uint)pppppcVar25 >> 7" (cast_expression "(uint)pppppcVar25" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "bVar2 = (byte)pppppcVar25;" (assignment_expression "bVar2 = (byte)pppppcVar25" identifier = (cast_expression "(byte)pppppcVar25" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pcVar43 = (code)(bVar2 | 0x80);" (assignment_expression "*pcVar43 = (code)(bVar2 | 0x80)" (pointer_expression "*pcVar43" * identifier) = (call_expression "(code)(bVar2 | 0x80)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar2 | 0x80)" ( (binary_expression "bVar2 | 0x80" identifier | number_literal) )))) ;) (expression_statement "pppppcVar25 = pppppcVar29;" (assignment_expression "pppppcVar25 = pppppcVar29" identifier = identifier) ;) (expression_statement "pcVar42 = pcVar43 + 1;" (assignment_expression "pcVar42 = pcVar43 + 1" identifier = (binary_expression "pcVar43 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppppcVar29 != (code *****)0x0)" ( (binary_expression "pppppcVar29 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) ;) (expression_statement "ppppppcVar38 = ppppppcVar38 + 1;" (assignment_expression "ppppppcVar38 = ppppppcVar38 + 1" identifier = (binary_expression "ppppppcVar38 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar43 = (code)(bVar2 & 0x7f);" (assignment_expression "*pcVar43 = (code)(bVar2 & 0x7f)" (pointer_expression "*pcVar43" * identifier) = (call_expression "(code)(bVar2 & 0x7f)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar2 & 0x7f)" ( (binary_expression "bVar2 & 0x7f" identifier & number_literal) )))) ;) (expression_statement "ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));" (assignment_expression "ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)))" identifier = (cast_expression "(code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)))" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)))" ( (binary_expression "(int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26))" (cast_expression "(int)ppppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26))" ( (binary_expression "(int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)" (cast_expression "(int)(pcVar43 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar43 + 1)" ( (binary_expression "pcVar43 + 1" identifier + number_literal) ))) - (parenthesized_expression "((int)ppppppcVar31 + (int)ppppppcVar26)" ( (binary_expression "(int)ppppppcVar31 + (int)ppppppcVar26" (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) )))) ;) }) while (parenthesized_expression "(ppppppcVar5 != ppppppcVar38)" ( (binary_expression "ppppppcVar5 != ppppppcVar38" identifier != identifier) )) ;) })) (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar38 = &pppppcStack_c8;" (assignment_expression "ppppppcVar38 = &pppppcStack_c8" identifier = (pointer_expression "&pppppcStack_c8" & identifier)) ;) (expression_statement "ppppppcVar28 = (code ******)0x14;" (assignment_expression "ppppppcVar28 = (code ******)0x14" identifier = (cast_expression "(code ******)0x14" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);" (assignment_expression "pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17)" identifier = (cast_expression "(code *****)FUN_000f7f20(ppppppcVar17)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "FUN_000f7f20(ppppppcVar17)" identifier (argument_list "(ppppppcVar17)" ( identifier ))))) ;) (if_statement "if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }" if (parenthesized_expression "(pppppcVar25 == (code *****)0x0)" ( (binary_expression "pppppcVar25 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }" { (expression_statement "(**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);" (call_expression "(**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45])" (parenthesized_expression "(**(code **)(pcVar40 + 0x543c8))" ( (pointer_expression "**(code **)(pcVar40 + 0x543c8)" * (pointer_expression "*(code **)(pcVar40 + 0x543c8)" * (cast_expression "(code **)(pcVar40 + 0x543c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x543c8)" ( (binary_expression "pcVar40 + 0x543c8" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45])" ( identifier , number_literal , (subscript_expression "ppppppcVar17[0x44]" identifier [ number_literal ]) , (subscript_expression "ppppppcVar17[0x45]" identifier [ number_literal ]) ))) ;) (expression_statement "ppppppcVar28 = (code ******)&SUB_00000002;" (assignment_expression "ppppppcVar28 = (code ******)&SUB_00000002" identifier = (cast_expression "(code ******)&SUB_00000002" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "iStack_e0 = *(int *)(pcVar40 + 0x541f0);" (assignment_expression "iStack_e0 = *(int *)(pcVar40 + 0x541f0)" identifier = (pointer_expression "*(int *)(pcVar40 + 0x541f0)" * (cast_expression "(int *)(pcVar40 + 0x541f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 0x541f0)" ( (binary_expression "pcVar40 + 0x541f0" identifier + number_literal) ))))) ;) (expression_statement "ppppppcVar38 = ppppppcVar31;" (assignment_expression "ppppppcVar38 = ppppppcVar31" identifier = identifier) ;) (expression_statement "param_4 = ppppppcVar26;" (assignment_expression "param_4 = ppppppcVar26" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);" (call_expression "(**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8)" (parenthesized_expression "(**(code **)(pcVar40 + 0x543cc))" ( (pointer_expression "**(code **)(pcVar40 + 0x543cc)" * (pointer_expression "*(code **)(pcVar40 + 0x543cc)" * (cast_expression "(code **)(pcVar40 + 0x543cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x543cc)" ( (binary_expression "pcVar40 + 0x543cc" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_c8)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);" (call_expression "(**(code **)(pcVar40 + 0x54200))(pppppcStack_c8)" (parenthesized_expression "(**(code **)(pcVar40 + 0x54200))" ( (pointer_expression "**(code **)(pcVar40 + 0x54200)" * (pointer_expression "*(code **)(pcVar40 + 0x54200)" * (cast_expression "(code **)(pcVar40 + 0x54200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x54200)" ( (binary_expression "pcVar40 + 0x54200" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_c8)" ( identifier ))) ;) (expression_statement "pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();" (assignment_expression "pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))()" identifier = (cast_expression "(code *****)(**(code **)(pcVar40 + 0x54218))()" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(pcVar40 + 0x54218))()" (parenthesized_expression "(**(code **)(pcVar40 + 0x54218))" ( (pointer_expression "**(code **)(pcVar40 + 0x54218)" * (pointer_expression "*(code **)(pcVar40 + 0x54218)" * (cast_expression "(code **)(pcVar40 + 0x54218)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x54218)" ( (binary_expression "pcVar40 + 0x54218" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "*ppppppcVar23 = pppppcVar25;" (assignment_expression "*ppppppcVar23 = pppppcVar25" (pointer_expression "*ppppppcVar23" * identifier) = identifier) ;) (expression_statement "ppppppcVar32 = (code ******)pppppcStack_c8;" (assignment_expression "ppppppcVar32 = (code ******)pppppcStack_c8" identifier = (cast_expression "(code ******)pppppcStack_c8" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) }) (else_clause "else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }" else (compound_statement "{\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }" { (expression_statement "ppppppcVar32 = ppppppcVar31;" (assignment_expression "ppppppcVar32 = ppppppcVar31" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar40 + 0x541f0))();" (call_expression "(**(code **)(pcVar40 + 0x541f0))()" (parenthesized_expression "(**(code **)(pcVar40 + 0x541f0))" ( (pointer_expression "**(code **)(pcVar40 + 0x541f0)" * (pointer_expression "*(code **)(pcVar40 + 0x541f0)" * (cast_expression "(code **)(pcVar40 + 0x541f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x541f0)" ( (binary_expression "pcVar40 + 0x541f0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*ppppppcVar23 = pppppcVar25;" (assignment_expression "*ppppppcVar23 = pppppcVar25" (pointer_expression "*ppppppcVar23" * identifier) = identifier) ;) }))) }))) })) (if_statement "if (pppppcStack_c4 == *ppppppcVar35) {\n    return (code ******)*ppppppcVar35;\n  }" if (parenthesized_expression "(pppppcStack_c4 == *ppppppcVar35)" ( (binary_expression "pppppcStack_c4 == *ppppppcVar35" identifier == (pointer_expression "*ppppppcVar35" * identifier)) )) (compound_statement "{\n    return (code ******)*ppppppcVar35;\n  }" { (return_statement "return (code ******)*ppppppcVar35;" return (cast_expression "(code ******)*ppppppcVar35" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppcVar35" * identifier)) ;) })) (expression_statement "pcVar40 = *(code **)(pcVar40 + 0x545e0);" (assignment_expression "pcVar40 = *(code **)(pcVar40 + 0x545e0)" identifier = (pointer_expression "*(code **)(pcVar40 + 0x545e0)" * (cast_expression "(code **)(pcVar40 + 0x545e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x545e0)" ( (binary_expression "pcVar40 + 0x545e0" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_148 = pcVar40 + 0x5bf88;" (assignment_expression "pcStack_148 = pcVar40 + 0x5bf88" identifier = (binary_expression "pcVar40 + 0x5bf88" identifier + number_literal)) ;) (expression_statement "piVar27 = *(int **)(pcVar40 + 0x54404);" (assignment_expression "piVar27 = *(int **)(pcVar40 + 0x54404)" identifier = (pointer_expression "*(int **)(pcVar40 + 0x54404)" * (cast_expression "(int **)(pcVar40 + 0x54404)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x54404)" ( (binary_expression "pcVar40 + 0x54404" identifier + number_literal) ))))) ;) (expression_statement "pppppcStack_11c = (code *****)*piVar27;" (assignment_expression "pppppcStack_11c = (code *****)*piVar27" identifier = (cast_expression "(code *****)*piVar27" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*piVar27" * identifier))) ;) (expression_statement "ppppppcVar5 = ppppppcVar32;" (assignment_expression "ppppppcVar5 = ppppppcVar32" identifier = identifier) ;) (expression_statement "ppppppcVar33 = ppppppcVar38;" (assignment_expression "ppppppcVar33 = ppppppcVar38" identifier = identifier) ;) (expression_statement "ppppppcVar23 = param_4;" (assignment_expression "ppppppcVar23 = param_4" identifier = identifier) ;) (expression_statement "pppppcStack_118 = (code *****)ppppppcVar26;" (assignment_expression "pppppcStack_118 = (code *****)ppppppcVar26" identifier = (cast_expression "(code *****)ppppppcVar26" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_114 = (code *****)ppppppcVar31;" (assignment_expression "pppppcStack_114 = (code *****)ppppppcVar31" identifier = (cast_expression "(code *****)ppppppcVar31" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_110 = (code *****)ppppppcVar35;" (assignment_expression "pppppcStack_110 = (code *****)ppppppcVar35" identifier = (cast_expression "(code *****)ppppppcVar35" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_10c = (code *****)ppppppcVar17;" (assignment_expression "pppppcStack_10c = (code *****)ppppppcVar17" identifier = (cast_expression "(code *****)ppppppcVar17" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_108 = (code *****)ppppppcVar21;" (assignment_expression "pppppcStack_108 = (code *****)ppppppcVar21" identifier = (cast_expression "(code *****)ppppppcVar21" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_104 = (code *****)unaff_s5;" (assignment_expression "pppppcStack_104 = (code *****)unaff_s5" identifier = (cast_expression "(code *****)unaff_s5" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if (*ppppppcVar32 == (code *****)0x0) {\n    ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);\n    ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);\n    ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);\n    ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);\n    ppppppcVar17 = ppppppcVar28;\n    unaff_s5 = ppppppcVar38;\n    unaff_s6 = param_4;\n    if (ppppppcVar35 == (code ******)0x0) {\n      *ppppppcVar32 = (code *****)0x7;\n    }\n    else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }\n  }" if (parenthesized_expression "(*ppppppcVar32 == (code *****)0x0)" ( (binary_expression "*ppppppcVar32 == (code *****)0x0" (pointer_expression "*ppppppcVar32" * identifier) == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n    ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);\n    ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);\n    ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);\n    ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);\n    ppppppcVar17 = ppppppcVar28;\n    unaff_s5 = ppppppcVar38;\n    unaff_s6 = param_4;\n    if (ppppppcVar35 == (code ******)0x0) {\n      *ppppppcVar32 = (code *****)0x7;\n    }\n    else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }\n  }" { (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2)" identifier = (cast_expression "(code ******)((int)ppppppcVar28[6] + 2)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar28[6] + 2)" ( (binary_expression "(int)ppppppcVar28[6] + 2" (cast_expression "(int)ppppppcVar28[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar28[6]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);" (assignment_expression "ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d)" identifier = (cast_expression "(code ******)((uint)ppppppcVar21 >> 0x1d)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)ppppppcVar21 >> 0x1d)" ( (binary_expression "(uint)ppppppcVar21 >> 0x1d" (cast_expression "(uint)ppppppcVar21" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);" (assignment_expression "ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2)" identifier = (cast_expression "(code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2)" ( (binary_expression "(uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2" (binary_expression "(uint)((int)ppppppcVar21 * 7) >> 0x1f" (call_expression "(uint)((int)ppppppcVar21 * 7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppppppcVar21 * 7)" ( (binary_expression "(int)ppppppcVar21 * 7" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) >> number_literal) | (binary_expression "((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2" (parenthesized_expression "((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7)))" ( (binary_expression "(((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))" (parenthesized_expression "(((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f))" ( (binary_expression "((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)" (parenthesized_expression "((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3)" ( (binary_expression "(uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3" (cast_expression "(uint)ppppppcVar33" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "((int)ppppppcVar21 >> 0x1f) << 3" (parenthesized_expression "((int)ppppppcVar21 >> 0x1f)" ( (binary_expression "(int)ppppppcVar21 >> 0x1f" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) << number_literal)) )) - (parenthesized_expression "((int)ppppppcVar21 >> 0x1f)" ( (binary_expression "(int)ppppppcVar21 >> 0x1f" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))" ( (binary_expression "(uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7)" (call_expression "(uint)((int)ppppppcVar21 * 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppppppcVar21 * 8)" ( (binary_expression "(int)ppppppcVar21 * 8" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) < (call_expression "(uint)((int)ppppppcVar21 * 7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppppppcVar21 * 7)" ( (binary_expression "(int)ppppppcVar21 * 7" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) )))) )) * number_literal)) )))) ;) (expression_statement "ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);" (assignment_expression "ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe)" identifier = (cast_expression "(code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe)" (parenthesized_expression "(**(code **)(pcVar40 + 0x54138))" ( (pointer_expression "**(code **)(pcVar40 + 0x54138)" * (pointer_expression "*(code **)(pcVar40 + 0x54138)" * (cast_expression "(code **)(pcVar40 + 0x54138)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x54138)" ( (binary_expression "pcVar40 + 0x54138" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5,(int)ppppppcVar21 * 0xe)" ( identifier , (binary_expression "(int)ppppppcVar21 * 0xe" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))))) ;) (expression_statement "ppppppcVar17 = ppppppcVar28;" (assignment_expression "ppppppcVar17 = ppppppcVar28" identifier = identifier) ;) (expression_statement "unaff_s5 = ppppppcVar38;" (assignment_expression "unaff_s5 = ppppppcVar38" identifier = identifier) ;) (expression_statement "unaff_s6 = param_4;" (assignment_expression "unaff_s6 = param_4" identifier = identifier) ;) (if_statement "if (ppppppcVar35 == (code ******)0x0) {\n      *ppppppcVar32 = (code *****)0x7;\n    }\n    else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }" if (parenthesized_expression "(ppppppcVar35 == (code ******)0x0)" ( (binary_expression "ppppppcVar35 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      *ppppppcVar32 = (code *****)0x7;\n    }" { (expression_statement "*ppppppcVar32 = (code *****)0x7;" (assignment_expression "*ppppppcVar32 = (code *****)0x7" (pointer_expression "*ppppppcVar32" * identifier) = (cast_expression "(code *****)0x7" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }" else (compound_statement "{\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }" { (expression_statement "ppppppcVar33 = (code ******)&ppppcStack_12c;" (assignment_expression "ppppppcVar33 = (code ******)&ppppcStack_12c" identifier = (cast_expression "(code ******)&ppppcStack_12c" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&ppppcStack_12c" & identifier))) ;) (expression_statement "ppppppcVar23 = (code ******)0x0;" (assignment_expression "ppppppcVar23 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);" (assignment_expression "pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20)" identifier = (cast_expression "(code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_148 + -0x7d30) + 0x7f20)" ( (binary_expression "*(int *)(pcStack_148 + -0x7d30) + 0x7f20" (pointer_expression "*(int *)(pcStack_148 + -0x7d30)" * (cast_expression "(int *)(pcStack_148 + -0x7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_148 + -0x7d30)" ( (binary_expression "pcStack_148 + -0x7d30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppcStack_140 = (code *****)ppppppcVar33;" (assignment_expression "pppppcStack_140 = (code *****)ppppppcVar33" identifier = (cast_expression "(code *****)ppppppcVar33" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);" (assignment_expression "unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16)" identifier = (cast_expression "(code ******)FUN_000f7f20(ppppppcVar28,0x16)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000f7f20(ppppppcVar28,0x16)" identifier (argument_list "(ppppppcVar28,0x16)" ( identifier , number_literal ))))) ;) (expression_statement "ppppppcVar5 = ppppppcVar35;" (assignment_expression "ppppppcVar5 = ppppppcVar35" identifier = identifier) ;) (if_statement "if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }" if (parenthesized_expression "(unaff_s8 == (code ******)0x0)" ( (binary_expression "unaff_s8 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }" { (expression_statement "ppppppcVar33 = (code ******)0x0;" (assignment_expression "ppppppcVar33 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "unaff_s7 = (code ******)((int)ppppppcVar21 * 4);" (assignment_expression "unaff_s7 = (code ******)((int)ppppppcVar21 * 4)" identifier = (cast_expression "(code ******)((int)ppppppcVar21 * 4)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar21 * 4)" ( (binary_expression "(int)ppppppcVar21 * 4" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "(**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);" (call_expression "(**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7d0c))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7d0c)" * (pointer_expression "*(code **)(pcStack_148 + -0x7d0c)" * (cast_expression "(code **)(pcStack_148 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7d0c)" ( (binary_expression "pcStack_148 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_12c,1)" ( identifier , number_literal ))) ;) (expression_statement "iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);" (assignment_expression "iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c)" identifier = (call_expression "(**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_148 + -0x7f80)" * (cast_expression "(code **)(pcStack_148 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f80)" ( (binary_expression "pcStack_148 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_12c)" ( identifier )))) ;) (if_statement "if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }" if (parenthesized_expression "(iVar4 == 100)" ( (binary_expression "iVar4 == 100" identifier == number_literal) )) (compound_statement "{\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }" { (expression_statement "iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);" (assignment_expression "iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0)" identifier = (call_expression "(**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f48))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7f48)" * (pointer_expression "*(code **)(pcStack_148 + -0x7f48)" * (cast_expression "(code **)(pcStack_148 + -0x7f48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f48)" ( (binary_expression "pcStack_148 + -0x7f48" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_12c,0)" ( identifier , number_literal )))) ;) (expression_statement "iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);" (assignment_expression "iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0)" identifier = (call_expression "(**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f4c))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7f4c)" * (pointer_expression "*(code **)(pcStack_148 + -0x7f4c)" * (cast_expression "(code **)(pcStack_148 + -0x7f4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f4c)" ( (binary_expression "pcStack_148 + -0x7f4c" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_12c,0)" ( identifier , number_literal )))) ;) (if_statement "if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }" if (parenthesized_expression "((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0'))" ( (binary_expression "(iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')" (parenthesized_expression "(iStack_134 == 0)" ( (binary_expression "iStack_134 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(char *)(iStack_138 + iStack_134 + -1) < '\0')" ( (binary_expression "*(char *)(iStack_138 + iStack_134 + -1) < '\0'" (pointer_expression "*(char *)(iStack_138 + iStack_134 + -1)" * (cast_expression "(char *)(iStack_138 + iStack_134 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_138 + iStack_134 + -1)" ( (binary_expression "iStack_138 + iStack_134 + -1" (binary_expression "iStack_138 + iStack_134" identifier + identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }" { (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if (0 < (int)ppppppcVar21) goto LAB_001079ec;" if (parenthesized_expression "(0 < (int)ppppppcVar21)" ( (binary_expression "0 < (int)ppppppcVar21" number_literal < (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_001079ec;" goto statement_identifier ;)) (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7f68);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7f68)" identifier = (pointer_expression "*(code **)(pcStack_148 + -0x7f68)" * (cast_expression "(code **)(pcStack_148 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f68)" ( (binary_expression "pcStack_148 + -0x7f68" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }" else (compound_statement "{\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }" { (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7f68);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7f68)" identifier = (pointer_expression "*(code **)(pcStack_148 + -0x7f68)" * (cast_expression "(code **)(pcStack_148 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f68)" ( (binary_expression "pcStack_148 + -0x7f68" identifier + number_literal) ))))) ;) (if_statement "if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }" if (parenthesized_expression "(0 < (int)ppppppcVar21)" ( (binary_expression "0 < (int)ppppppcVar21" number_literal < (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }" { (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }" if (parenthesized_expression "(0 < iStack_134)" ( (binary_expression "0 < iStack_134" number_literal < identifier) )) (compound_statement "{\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }" { (expression_statement "puVar24 = auStack_128;" (assignment_expression "puVar24 = auStack_128" identifier = identifier) ;) (expression_statement "pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);" (assignment_expression "pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74)" identifier = (cast_expression "(code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_148 + -0x7f54) + 0xf74)" ( (binary_expression "*(int *)(pcStack_148 + -0x7f54) + 0xf74" (pointer_expression "*(int *)(pcStack_148 + -0x7f54)" * (cast_expression "(int *)(pcStack_148 + -0x7f54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_148 + -0x7f54)" ( (binary_expression "pcStack_148 + -0x7f54" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "ppppppcVar26 = ppppppcVar35;" (assignment_expression "ppppppcVar26 = ppppppcVar35" identifier = identifier) ;) (do_statement "do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);" do (compound_statement "{\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                }" { (expression_statement "iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);" (assignment_expression "iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24)" identifier = (call_expression "(*pcVar40)(iStack_138 + iVar4,puVar24)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(iStack_138 + iVar4,puVar24)" ( (binary_expression "iStack_138 + iVar4" identifier + identifier) , identifier )))) ;) (expression_statement "iVar4 = iVar4 + iVar6;" (assignment_expression "iVar4 = iVar4 + iVar6" identifier = (binary_expression "iVar4 + iVar6" identifier + identifier)) ;) (expression_statement "ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);" (assignment_expression "ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1)" identifier = (cast_expression "(code ******)((int)ppppppcVar31 + 1)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar31 + 1)" ( (binary_expression "(int)ppppppcVar31 + 1" (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*ppppppcVar26 = (code *****)ppppcStack_124;" (assignment_expression "*ppppppcVar26 = (code *****)ppppcStack_124" (pointer_expression "*ppppppcVar26" * identifier) = (cast_expression "(code *****)ppppcStack_124" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;" if (parenthesized_expression "(ppppppcVar21 == ppppppcVar31)" ( (binary_expression "ppppppcVar21 == ppppppcVar31" identifier == identifier) )) (goto_statement "goto LAB_00107790;" goto statement_identifier ;)) (expression_statement "ppppppcVar26 = ppppppcVar26 + 1;" (assignment_expression "ppppppcVar26 = ppppppcVar26 + 1" identifier = (binary_expression "ppppppcVar26 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 < iStack_134)" ( (binary_expression "iVar4 < iStack_134" identifier < identifier) )) ;) })) (labeled_statement "LAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;" statement_identifier : (expression_statement "ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;" (assignment_expression "ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31" identifier = (binary_expression "ppppppcVar35 + (int)ppppppcVar31" identifier + (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (do_statement "do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);" do (compound_statement "{\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              }" { (expression_statement "ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);" (assignment_expression "ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1)" identifier = (cast_expression "(code ******)((int)ppppppcVar31 + 1)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar31 + 1)" ( (binary_expression "(int)ppppppcVar31 + 1" (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*ppppppcVar26 = (code *****)0x0;" (assignment_expression "*ppppppcVar26 = (code *****)0x0" (pointer_expression "*ppppppcVar26" * identifier) = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar26 = ppppppcVar26 + 1;" (assignment_expression "ppppppcVar26 = ppppppcVar26 + 1" identifier = (binary_expression "ppppppcVar26 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)ppppppcVar31 < (int)ppppppcVar21)" ( (binary_expression "(int)ppppppcVar31 < (int)ppppppcVar21" (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7f68);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7f68)" identifier = (pointer_expression "*(code **)(pcStack_148 + -0x7f68)" * (cast_expression "(code **)(pcStack_148 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f68)" ( (binary_expression "pcStack_148 + -0x7f68" identifier + number_literal) ))))) ;) })) }))) }) (else_clause "else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }" else (compound_statement "{\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }" { (expression_statement "ppppppcVar33 = unaff_s7;" (assignment_expression "ppppppcVar33 = unaff_s7" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);" (call_expression "(**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7bfc))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7bfc)" * (pointer_expression "*(code **)(pcStack_148 + -0x7bfc)" * (cast_expression "(code **)(pcStack_148 + -0x7bfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7bfc)" ( (binary_expression "pcStack_148 + -0x7bfc" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar35,0)" ( identifier , number_literal ))) ;) (labeled_statement "LAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);" statement_identifier : (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7f68);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7f68)" identifier = (pointer_expression "*(code **)(pcStack_148 + -0x7f68)" * (cast_expression "(code **)(pcStack_148 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f68)" ( (binary_expression "pcStack_148 + -0x7f68" identifier + number_literal) ))))) ;)) }))) (expression_statement "unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);" (assignment_expression "unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c)" identifier = (cast_expression "(code ******)(*pcVar40)(ppppcStack_12c)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*pcVar40)(ppppcStack_12c)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(ppppcStack_12c)" ( identifier ))))) ;) (if_statement "if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }" if (parenthesized_expression "(unaff_s8 == (code ******)0x0)" ( (binary_expression "unaff_s8 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }" { (if_statement "if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }" if (parenthesized_expression "((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0))" ( (binary_expression "(iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)" (parenthesized_expression "(iStack_e0 < 0)" ( (binary_expression "iStack_e0 < 0" identifier < number_literal) )) && (parenthesized_expression "(*ppppppcVar35 < (code *****)-iStack_e0)" ( (binary_expression "*ppppppcVar35 < (code *****)-iStack_e0" (pointer_expression "*ppppppcVar35" * identifier) < (cast_expression "(code *****)-iStack_e0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (unary_expression "-iStack_e0" - identifier))) ))) )) (compound_statement "{\n            pppppcVar25 = (code *****)0x0;\n          }" { (expression_statement "pppppcVar25 = (code *****)0x0;" (assignment_expression "pppppcVar25 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }" else (compound_statement "{\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }" { (expression_statement "pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);" (assignment_expression "pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0)" identifier = (cast_expression "(code *****)((int)*ppppppcVar35 + iStack_e0)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)*ppppppcVar35 + iStack_e0)" ( (binary_expression "(int)*ppppppcVar35 + iStack_e0" (cast_expression "(int)*ppppppcVar35" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppppppcVar35" * identifier)) + identifier) )))) ;) }))) (expression_statement "*ppppppcVar35 = pppppcVar25;" (assignment_expression "*ppppppcVar35 = pppppcVar25" (pointer_expression "*ppppppcVar35" * identifier) = identifier) ;) (expression_statement "ppppppcVar31 = ppppppcVar35 + 1;" (assignment_expression "ppppppcVar31 = ppppppcVar35 + 1" identifier = (binary_expression "ppppppcVar35 + 1" identifier + number_literal)) ;) (if_statement "if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }" if (parenthesized_expression "(-1 < (int)ppppppcVar28[6])" ( (binary_expression "-1 < (int)ppppppcVar28[6]" number_literal < (cast_expression "(int)ppppppcVar28[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar28[6]" identifier [ number_literal ]))) )) (compound_statement "{\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);" do (compound_statement "{\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            }" { (while_statement "while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }" while (parenthesized_expression "((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4)" ( (binary_expression "(code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4" (cast_expression "(code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)*ppppppcVar38 + (int)*ppppppcVar31)" ( (binary_expression "(int)*ppppppcVar38 + (int)*ppppppcVar31" (cast_expression "(int)*ppppppcVar38" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppppppcVar38" * identifier)) + (cast_expression "(int)*ppppppcVar31" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppppppcVar31" * identifier))) ))) < (pointer_expression "*param_4" * identifier)) )) (compound_statement "{\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }" { (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*ppppppcVar31 = (code *****)0x0;" (assignment_expression "*ppppppcVar31 = (code *****)0x0" (pointer_expression "*ppppppcVar31" * identifier) = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar38 = ppppppcVar38 + 1;" (assignment_expression "ppppppcVar38 = ppppppcVar38 + 1" identifier = (binary_expression "ppppppcVar38 + 1" identifier + number_literal)) ;) (expression_statement "ppppppcVar31 = ppppppcVar31 + 1;" (assignment_expression "ppppppcVar31 = ppppppcVar31 + 1" identifier = (binary_expression "ppppppcVar31 + 1" identifier + number_literal)) ;) (expression_statement "param_4 = param_4 + 1;" (assignment_expression "param_4 = param_4 + 1" identifier = (binary_expression "param_4 + 1" identifier + number_literal)) ;) (if_statement "if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;" if (parenthesized_expression "((int)ppppppcVar28[6] < iVar4)" ( (binary_expression "(int)ppppppcVar28[6] < iVar4" (cast_expression "(int)ppppppcVar28[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar28[6]" identifier [ number_literal ])) < identifier) )) (goto_statement "goto LAB_00107834;" goto statement_identifier ;)) })) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);" (assignment_expression "*ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4)" (pointer_expression "*ppppppcVar31" * identifier) = (cast_expression "(code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4)" ( (binary_expression "((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4" (parenthesized_expression "((int)*ppppppcVar38 + (int)*ppppppcVar31)" ( (binary_expression "(int)*ppppppcVar38 + (int)*ppppppcVar31" (cast_expression "(int)*ppppppcVar38" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppppppcVar38" * identifier)) + (cast_expression "(int)*ppppppcVar31" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppppppcVar31" * identifier))) )) - (cast_expression "(int)*param_4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*param_4" * identifier))) )))) ;) (expression_statement "ppppppcVar38 = ppppppcVar38 + 1;" (assignment_expression "ppppppcVar38 = ppppppcVar38 + 1" identifier = (binary_expression "ppppppcVar38 + 1" identifier + number_literal)) ;) (expression_statement "ppppppcVar31 = ppppppcVar31 + 1;" (assignment_expression "ppppppcVar31 = ppppppcVar31 + 1" identifier = (binary_expression "ppppppcVar31 + 1" identifier + number_literal)) ;) (expression_statement "param_4 = param_4 + 1;" (assignment_expression "param_4 = param_4 + 1" identifier = (binary_expression "param_4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 <= (int)ppppppcVar28[6])" ( (binary_expression "iVar4 <= (int)ppppppcVar28[6]" identifier <= (cast_expression "(int)ppppppcVar28[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar28[6]" identifier [ number_literal ]))) )) ;) })) (labeled_statement "LAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;" statement_identifier : (expression_statement "unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;" (assignment_expression "unaff_s7 = ppppppcVar35 + (int)ppppppcVar21" identifier = (binary_expression "ppppppcVar35 + (int)ppppppcVar21" identifier + (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar33 = ppppppcVar35;" (assignment_expression "ppppppcVar33 = ppppppcVar35" identifier = identifier) ;) (if_statement "if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }" if (parenthesized_expression "(0 < (int)ppppppcVar21)" ( (binary_expression "0 < (int)ppppppcVar21" number_literal < (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }" { (do_statement "do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);" do (compound_statement "{\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            }" { (expression_statement "pppppcVar25 = *ppppppcVar33;" (assignment_expression "pppppcVar25 = *ppppppcVar33" identifier = (pointer_expression "*ppppppcVar33" * identifier)) ;) (expression_statement "pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);" (assignment_expression "pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31)" identifier = (cast_expression "(code *)((int)unaff_s7 + (int)ppppppcVar31)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + (int)ppppppcVar31)" ( (binary_expression "(int)unaff_s7 + (int)ppppppcVar31" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (do_statement "do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);" do (compound_statement "{\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              }" { (expression_statement "pcVar42 = pcVar40;" (assignment_expression "pcVar42 = pcVar40" identifier = identifier) ;) (expression_statement "pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);" (assignment_expression "pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7)" identifier = (cast_expression "(code *****)((uint)pppppcVar25 >> 7)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((uint)pppppcVar25 >> 7)" ( (binary_expression "(uint)pppppcVar25 >> 7" (cast_expression "(uint)pppppcVar25" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "bVar2 = (byte)pppppcVar25;" (assignment_expression "bVar2 = (byte)pppppcVar25" identifier = (cast_expression "(byte)pppppcVar25" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pcVar42 = (code)(bVar2 | 0x80);" (assignment_expression "*pcVar42 = (code)(bVar2 | 0x80)" (pointer_expression "*pcVar42" * identifier) = (call_expression "(code)(bVar2 | 0x80)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar2 | 0x80)" ( (binary_expression "bVar2 | 0x80" identifier | number_literal) )))) ;) (expression_statement "pppppcVar25 = pppppcVar29;" (assignment_expression "pppppcVar25 = pppppcVar29" identifier = identifier) ;) (expression_statement "pcVar40 = pcVar42 + 1;" (assignment_expression "pcVar40 = pcVar42 + 1" identifier = (binary_expression "pcVar42 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppppcVar29 != (code *****)0x0)" ( (binary_expression "pppppcVar29 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) ;) (expression_statement "ppppppcVar33 = ppppppcVar33 + 1;" (assignment_expression "ppppppcVar33 = ppppppcVar33 + 1" identifier = (binary_expression "ppppppcVar33 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar42 = (code)(bVar2 & 0x7f);" (assignment_expression "*pcVar42 = (code)(bVar2 & 0x7f)" (pointer_expression "*pcVar42" * identifier) = (call_expression "(code)(bVar2 & 0x7f)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar2 & 0x7f)" ( (binary_expression "bVar2 & 0x7f" identifier & number_literal) )))) ;) (expression_statement "ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));" (assignment_expression "ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)))" identifier = (cast_expression "(code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)))" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)))" ( (binary_expression "(int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31))" (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31))" ( (binary_expression "(int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)" (cast_expression "(int)(pcVar42 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar42 + 1)" ( (binary_expression "pcVar42 + 1" identifier + number_literal) ))) - (parenthesized_expression "((int)unaff_s7 + (int)ppppppcVar31)" ( (binary_expression "(int)unaff_s7 + (int)ppppppcVar31" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) )))) ;) (expression_statement "unaff_s8 = ppppppcVar31;" (assignment_expression "unaff_s8 = ppppppcVar31" identifier = identifier) ;) }) while (parenthesized_expression "(unaff_s7 != ppppppcVar33)" ( (binary_expression "unaff_s7 != ppppppcVar33" identifier != identifier) )) ;) })) (expression_statement "ppppppcVar23 = (code ******)0x0;" (assignment_expression "ppppppcVar23 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar33 = (code ******)pppppcStack_140;" (assignment_expression "ppppppcVar33 = (code ******)pppppcStack_140" identifier = (cast_expression "(code ******)pppppcStack_140" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);" (assignment_expression "ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17)" identifier = (cast_expression "(code ******)(*pcStack_13c)(ppppppcVar28,0x17)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*pcStack_13c)(ppppppcVar28,0x17)" (parenthesized_expression "(*pcStack_13c)" ( (pointer_expression "*pcStack_13c" * identifier) )) (argument_list "(ppppppcVar28,0x17)" ( identifier , number_literal ))))) ;) (expression_statement "unaff_s5 = ppppppcVar38;" (assignment_expression "unaff_s5 = ppppppcVar38" identifier = identifier) ;) (expression_statement "unaff_s6 = param_4;" (assignment_expression "unaff_s6 = param_4" identifier = identifier) ;) (if_statement "if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }" if (parenthesized_expression "(ppppppcVar31 == (code ******)0x0)" ( (binary_expression "ppppppcVar31 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }" { (expression_statement "(**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);" (call_expression "(**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7d0c))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7d0c)" * (pointer_expression "*(code **)(pcStack_148 + -0x7d0c)" * (cast_expression "(code **)(pcStack_148 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7d0c)" ( (binary_expression "pcStack_148 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_12c,1,0)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uStack_150 = 0;" (assignment_expression "uStack_150 = 0" identifier = number_literal) ;) (expression_statement "ppppppcVar33 = unaff_s7;" (assignment_expression "ppppppcVar33 = unaff_s7" identifier = identifier) ;) (expression_statement "ppppppcVar23 = unaff_s8;" (assignment_expression "ppppppcVar23 = unaff_s8" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);" (call_expression "(**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7db4))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7db4)" * (pointer_expression "*(code **)(pcStack_148 + -0x7db4)" * (cast_expression "(code **)(pcStack_148 + -0x7db4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7db4)" ( (binary_expression "pcStack_148 + -0x7db4" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_12c,2)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);" (call_expression "(**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_148 + -0x7f80)" * (cast_expression "(code **)(pcStack_148 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f80)" ( (binary_expression "pcStack_148 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_12c)" ( identifier ))) ;) (expression_statement "pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);" (assignment_expression "pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c)" identifier = (cast_expression "(code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f68))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7f68)" * (pointer_expression "*(code **)(pcStack_148 + -0x7f68)" * (cast_expression "(code **)(pcStack_148 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f68)" ( (binary_expression "pcStack_148 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_12c)" ( identifier ))))) ;) (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7dac);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7dac)" identifier = (pointer_expression "*(code **)(pcStack_148 + -0x7dac)" * (cast_expression "(code **)(pcStack_148 + -0x7dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7dac)" ( (binary_expression "pcStack_148 + -0x7dac" identifier + number_literal) ))))) ;) (expression_statement "*ppppppcVar32 = pppppcVar25;" (assignment_expression "*ppppppcVar32 = pppppcVar25" (pointer_expression "*ppppppcVar32" * identifier) = identifier) ;) (expression_statement "(*pcVar40)(ppppcStack_12c,2);" (call_expression "(*pcVar40)(ppppcStack_12c,2)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(ppppcStack_12c,2)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_148 + -0x7f90))();" (call_expression "(**(code **)(pcStack_148 + -0x7f90))()" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f90))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7f90)" * (pointer_expression "*(code **)(pcStack_148 + -0x7f90)" * (cast_expression "(code **)(pcStack_148 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f90)" ( (binary_expression "pcStack_148 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }" else (compound_statement "{\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }" { (expression_statement "pppppcStack_140 = (code *****)ppppppcVar31;" (assignment_expression "pppppcStack_140 = (code *****)ppppppcVar31" identifier = (cast_expression "(code *****)ppppppcVar31" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "(**(code **)(pcStack_148 + -0x7f90))();" (call_expression "(**(code **)(pcStack_148 + -0x7f90))()" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f90))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7f90)" * (pointer_expression "*(code **)(pcStack_148 + -0x7f90)" * (cast_expression "(code **)(pcStack_148 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f90)" ( (binary_expression "pcStack_148 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*ppppppcVar32 = pppppcStack_140;" (assignment_expression "*ppppppcVar32 = pppppcStack_140" (pointer_expression "*ppppppcVar32" * identifier) = identifier) ;) }))) (goto_statement "goto LAB_0010767c;" goto statement_identifier ;) })) })) (expression_statement "(**(code **)(pcStack_148 + -0x7f90))();" (call_expression "(**(code **)(pcStack_148 + -0x7f90))()" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f90))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7f90)" * (pointer_expression "*(code **)(pcStack_148 + -0x7f90)" * (cast_expression "(code **)(pcStack_148 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f90)" ( (binary_expression "pcStack_148 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*ppppppcVar32 = (code *****)unaff_s8;" (assignment_expression "*ppppppcVar32 = (code *****)unaff_s8" (pointer_expression "*ppppppcVar32" * identifier) = (cast_expression "(code *****)unaff_s8" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) }))) })) (labeled_statement "LAB_0010767c:\n  if ((code ******)pppppcStack_11c == (code ******)*piVar27) {\n    return (code ******)*piVar27;\n  }" statement_identifier : (if_statement "if ((code ******)pppppcStack_11c == (code ******)*piVar27) {\n    return (code ******)*piVar27;\n  }" if (parenthesized_expression "((code ******)pppppcStack_11c == (code ******)*piVar27)" ( (binary_expression "(code ******)pppppcStack_11c == (code ******)*piVar27" (cast_expression "(code ******)pppppcStack_11c" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(code ******)*piVar27" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*piVar27" * identifier))) )) (compound_statement "{\n    return (code ******)*piVar27;\n  }" { (return_statement "return (code ******)*piVar27;" return (cast_expression "(code ******)*piVar27" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*piVar27" * identifier)) ;) }))) (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7ba0);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7ba0)" identifier = (pointer_expression "*(code **)(pcStack_148 + -0x7ba0)" * (cast_expression "(code **)(pcStack_148 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7ba0)" ( (binary_expression "pcStack_148 + -0x7ba0" identifier + number_literal) ))))) ;) (expression_statement "pcVar42 = FUN_00107a84;" (assignment_expression "pcVar42 = FUN_00107a84" identifier = identifier) ;) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_190 = pcVar40 + 0x5bb2c;" (assignment_expression "pcStack_190 = pcVar40 + 0x5bb2c" identifier = (binary_expression "pcVar40 + 0x5bb2c" identifier + number_literal)) ;) (expression_statement "puVar30 = *(uint **)(pcVar40 + 0x53fa8);" (assignment_expression "puVar30 = *(uint **)(pcVar40 + 0x53fa8)" identifier = (pointer_expression "*(uint **)(pcVar40 + 0x53fa8)" * (cast_expression "(uint **)(pcVar40 + 0x53fa8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x53fa8)" ( (binary_expression "pcVar40 + 0x53fa8" identifier + number_literal) ))))) ;) (expression_statement "ppppcStack_184 = (code ****)*puVar30;" (assignment_expression "ppppcStack_184 = (code ****)*puVar30" identifier = (cast_expression "(code ****)*puVar30" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*puVar30" * identifier))) ;) (expression_statement "piStack_17c = piVar27;" (assignment_expression "piStack_17c = piVar27" identifier = identifier) ;) (expression_statement "pppppcStack_178 = (code *****)ppppppcVar32;" (assignment_expression "pppppcStack_178 = (code *****)ppppppcVar32" identifier = (cast_expression "(code *****)ppppppcVar32" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_174 = (code *****)ppppppcVar35;" (assignment_expression "pppppcStack_174 = (code *****)ppppppcVar35" identifier = (cast_expression "(code *****)ppppppcVar35" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_170 = (code *****)ppppppcVar17;" (assignment_expression "pppppcStack_170 = (code *****)ppppppcVar17" identifier = (cast_expression "(code *****)ppppppcVar17" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_16c = (code *****)ppppppcVar21;" (assignment_expression "pppppcStack_16c = (code *****)ppppppcVar21" identifier = (cast_expression "(code *****)ppppppcVar21" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_168 = (code *****)unaff_s5;" (assignment_expression "pppppcStack_168 = (code *****)unaff_s5" identifier = (cast_expression "(code *****)unaff_s5" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_164 = pcVar42;" (assignment_expression "pcStack_164 = pcVar42" identifier = identifier) ;) (if_statement "if (*(ushort *)(ppppppcVar5 + 1) < 2) {\n    iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);\n    if (iVar4 == 100) {\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }\n    else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }\n  }\n  else {\n    ppppppcVar32 = (code ******)ppppppcVar5[4];\n    pppppcStack_188 = (code *****)0x0;\n    if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }\n    pppppcVar25 = ppppppcVar5[8];\n    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }\n    ppppppcVar31 = (code ******)0x0;\n    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n  }" if (parenthesized_expression "(*(ushort *)(ppppppcVar5 + 1) < 2)" ( (binary_expression "*(ushort *)(ppppppcVar5 + 1) < 2" (pointer_expression "*(ushort *)(ppppppcVar5 + 1)" * (cast_expression "(ushort *)(ppppppcVar5 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcVar5 + 1)" ( (binary_expression "ppppppcVar5 + 1" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n    iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);\n    if (iVar4 == 100) {\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }\n    else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }\n  }" { (expression_statement "iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);" (assignment_expression "iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3])" identifier = (call_expression "(**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3])" (parenthesized_expression "(**(code **)(pcVar40 + 0x53bac))" ( (pointer_expression "**(code **)(pcVar40 + 0x53bac)" * (pointer_expression "*(code **)(pcVar40 + 0x53bac)" * (cast_expression "(code **)(pcVar40 + 0x53bac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x53bac)" ( (binary_expression "pcVar40 + 0x53bac" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5[3])" ( (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar4 == 100) {\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }\n    else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }" if (parenthesized_expression "(iVar4 == 100)" ( (binary_expression "iVar4 == 100" identifier == number_literal) )) (compound_statement "{\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }" { (expression_statement "uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);" (assignment_expression "uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0)" identifier = (call_expression "(**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0)" (parenthesized_expression "(**(code **)(pcStack_190 + -0x7f60))" ( (pointer_expression "**(code **)(pcStack_190 + -0x7f60)" * (pointer_expression "*(code **)(pcStack_190 + -0x7f60)" * (cast_expression "(code **)(pcStack_190 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_190 + -0x7f60)" ( (binary_expression "pcStack_190 + -0x7f60" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5[3],0)" ( (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "*(undefined8 *)(ppppppcVar5 + 8) = uVar44;" (assignment_expression "*(undefined8 *)(ppppppcVar5 + 8) = uVar44" (pointer_expression "*(undefined8 *)(ppppppcVar5 + 8)" * (cast_expression "(undefined8 *)(ppppppcVar5 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcVar5 + 8)" ( (binary_expression "ppppppcVar5 + 8" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }" else (compound_statement "{\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }" { (expression_statement "pcVar40 = *(code **)(pcStack_190 + -0x7f68);" (assignment_expression "pcVar40 = *(code **)(pcStack_190 + -0x7f68)" identifier = (pointer_expression "*(code **)(pcStack_190 + -0x7f68)" * (cast_expression "(code **)(pcStack_190 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_190 + -0x7f68)" ( (binary_expression "pcStack_190 + -0x7f68" identifier + number_literal) ))))) ;) (expression_statement "*(code *)((int)ppppppcVar5 + 6) = (code)0x1;" (assignment_expression "*(code *)((int)ppppppcVar5 + 6) = (code)0x1" (pointer_expression "*(code *)((int)ppppppcVar5 + 6)" * (cast_expression "(code *)((int)ppppppcVar5 + 6)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 6)" ( (binary_expression "(int)ppppppcVar5 + 6" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(code)0x1" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);" (assignment_expression "ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3])" identifier = (cast_expression "(code ******)(*pcVar40)(ppppppcVar5[3])" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*pcVar40)(ppppppcVar5[3])" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(ppppppcVar5[3])" ( (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]) ))))) ;) }))) }) (else_clause "else {\n    ppppppcVar32 = (code ******)ppppppcVar5[4];\n    pppppcStack_188 = (code *****)0x0;\n    if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }\n    pppppcVar25 = ppppppcVar5[8];\n    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }\n    ppppppcVar31 = (code ******)0x0;\n    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n  }" else (compound_statement "{\n    ppppppcVar32 = (code ******)ppppppcVar5[4];\n    pppppcStack_188 = (code *****)0x0;\n    if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }\n    pppppcVar25 = ppppppcVar5[8];\n    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }\n    ppppppcVar31 = (code ******)0x0;\n    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n  }" { (expression_statement "ppppppcVar32 = (code ******)ppppppcVar5[4];" (assignment_expression "ppppppcVar32 = (code ******)ppppppcVar5[4]" identifier = (cast_expression "(code ******)ppppppcVar5[4]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[4]" identifier [ number_literal ]))) ;) (expression_statement "pppppcStack_188 = (code *****)0x0;" (assignment_expression "pppppcStack_188 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }" if (parenthesized_expression "(ppppppcVar32 == (code ******)0x0)" ( (binary_expression "ppppppcVar32 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }" { (expression_statement "*(code *)((int)ppppppcVar5 + 6) = (code)0x1;" (assignment_expression "*(code *)((int)ppppppcVar5 + 6) = (code)0x1" (pointer_expression "*(code *)((int)ppppppcVar5 + 6)" * (cast_expression "(code *)((int)ppppppcVar5 + 6)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 6)" ( (binary_expression "(int)ppppppcVar5 + 6" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(code)0x1" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) }) (else_clause "else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }" else (compound_statement "{\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }" { (expression_statement "iVar4 = *(int *)(pcVar40 + 0x53c4c);" (assignment_expression "iVar4 = *(int *)(pcVar40 + 0x53c4c)" identifier = (pointer_expression "*(int *)(pcVar40 + 0x53c4c)" * (cast_expression "(int *)(pcVar40 + 0x53c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 0x53c4c)" ( (binary_expression "pcVar40 + 0x53c4c" identifier + number_literal) ))))) ;) (expression_statement "ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);" (assignment_expression "ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888)" identifier = (cast_expression "(code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar40 + 0x53c74) + 0x6888)" ( (binary_expression "*(int *)(pcVar40 + 0x53c74) + 0x6888" (pointer_expression "*(int *)(pcVar40 + 0x53c74)" * (cast_expression "(int *)(pcVar40 + 0x53c74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 0x53c74)" ( (binary_expression "pcVar40 + 0x53c74" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));" do (compound_statement "{\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      }" { (if_statement "if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }" if (parenthesized_expression "(*(code *)((int)ppppppcVar5 + 7) == (code)0x0)" ( (binary_expression "*(code *)((int)ppppppcVar5 + 7) == (code)0x0" (pointer_expression "*(code *)((int)ppppppcVar5 + 7)" * (cast_expression "(code *)((int)ppppppcVar5 + 7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 7)" ( (binary_expression "(int)ppppppcVar5 + 7" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }" { (expression_statement "(**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);" (call_expression "(**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3])" (parenthesized_expression "(**(code **)(pcStack_190 + -0x7f68))" ( (pointer_expression "**(code **)(pcStack_190 + -0x7f68)" * (pointer_expression "*(code **)(pcStack_190 + -0x7f68)" * (cast_expression "(code **)(pcStack_190 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_190 + -0x7f68)" ( (binary_expression "pcStack_190 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5[3])" ( (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]) ))) ;) })) (if_statement "if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }" if (parenthesized_expression "((code ******)pppppcStack_188 == (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_188 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_188" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }" { (expression_statement "ppppppcVar33 = &pppppcStack_188;" (assignment_expression "ppppppcVar33 = &pppppcStack_188" identifier = (pointer_expression "&pppppcStack_188" & identifier)) ;) (expression_statement "(*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);" (call_expression "(*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32)" (parenthesized_expression "(*(code *)ppppppcVar38)" ( (pointer_expression "*(code *)ppppppcVar38" * (cast_expression "(code *)ppppppcVar38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ppppppcVar5,ppppppcVar32)" ( identifier , identifier ))) ;) })) (expression_statement "cVar20 = *(code *)(ppppppcVar32 + 8);" (assignment_expression "cVar20 = *(code *)(ppppppcVar32 + 8)" identifier = (pointer_expression "*(code *)(ppppppcVar32 + 8)" * (cast_expression "(code *)(ppppppcVar32 + 8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcVar32 + 8)" ( (binary_expression "ppppppcVar32 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(code *)((int)ppppppcVar5 + 7) = (code)0x1;" (assignment_expression "*(code *)((int)ppppppcVar5 + 7) = (code)0x1" (pointer_expression "*(code *)((int)ppppppcVar5 + 7)" * (cast_expression "(code *)((int)ppppppcVar5 + 7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 7)" ( (binary_expression "(int)ppppppcVar5 + 7" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(code)0x1" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "*(code *)((int)ppppppcVar5 + 6) = cVar20;" (assignment_expression "*(code *)((int)ppppppcVar5 + 6) = cVar20" (pointer_expression "*(code *)((int)ppppppcVar5 + 6)" * (cast_expression "(code *)((int)ppppppcVar5 + 6)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 6)" ( (binary_expression "(int)ppppppcVar5 + 6" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "ppppppcVar5[0x16] = (code *****)0x1;" (assignment_expression "ppppppcVar5[0x16] = (code *****)0x1" (subscript_expression "ppppppcVar5[0x16]" identifier [ number_literal ]) = (cast_expression "(code *****)0x1" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "pppppcVar25 = ppppppcVar32[6];" (assignment_expression "pppppcVar25 = ppppppcVar32[6]" identifier = (subscript_expression "ppppppcVar32[6]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar5[9] = ppppppcVar32[7];" (assignment_expression "ppppppcVar5[9] = ppppppcVar32[7]" (subscript_expression "ppppppcVar5[9]" identifier [ number_literal ]) = (subscript_expression "ppppppcVar32[7]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar5[8] = pppppcVar25;" (assignment_expression "ppppppcVar5[8] = pppppcVar25" (subscript_expression "ppppppcVar5[8]" identifier [ number_literal ]) = identifier) ;) }) while (parenthesized_expression "((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0))" ( (binary_expression "(cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0)" (parenthesized_expression "(cVar20 == (code)0x0)" ( (binary_expression "cVar20 == (code)0x0" identifier == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) && (parenthesized_expression "(iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0)" ( (comma_expression "iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0" (assignment_expression "iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188)" identifier = (call_expression "FUN_00105348(ppppppcVar5,&pppppcStack_188)" identifier (argument_list "(ppppppcVar5,&pppppcStack_188)" ( identifier , (pointer_expression "&pppppcStack_188" & identifier) )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) ;) (expression_statement "ppppppcVar31 = (code ******)pppppcStack_188;" (assignment_expression "ppppppcVar31 = (code ******)pppppcStack_188" identifier = (cast_expression "(code ******)pppppcStack_188" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppcVar17 = &pppppcStack_188;" (assignment_expression "ppppppcVar17 = &pppppcStack_188" identifier = (pointer_expression "&pppppcStack_188" & identifier)) ;) (expression_statement "ppppppcVar21 = (code ******)(iVar4 + 0x5348);" (assignment_expression "ppppppcVar21 = (code ******)(iVar4 + 0x5348)" identifier = (cast_expression "(code ******)(iVar4 + 0x5348)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar4 + 0x5348)" ( (binary_expression "iVar4 + 0x5348" identifier + number_literal) )))) ;) (expression_statement "unaff_s5 = ppppppcVar38;" (assignment_expression "unaff_s5 = ppppppcVar38" identifier = identifier) ;) (if_statement "if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;" if (parenthesized_expression "((code ******)pppppcStack_188 != (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_188 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_188" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_00107b8c;" goto statement_identifier ;)) }))) (expression_statement "pppppcVar25 = ppppppcVar5[8];" (assignment_expression "pppppcVar25 = ppppppcVar5[8]" identifier = (subscript_expression "ppppppcVar5[8]" identifier [ number_literal ])) ;) (if_statement "if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }" if (parenthesized_expression "(*(code *)(ppppppcVar5 + 0xd) == (code)0x0)" ( (binary_expression "*(code *)(ppppppcVar5 + 0xd) == (code)0x0" (pointer_expression "*(code *)(ppppppcVar5 + 0xd)" * (cast_expression "(code *)(ppppppcVar5 + 0xd)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcVar5 + 0xd)" ( (binary_expression "ppppppcVar5 + 0xd" identifier + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }" { (if_statement "if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }" if (parenthesized_expression "((int)pppppcVar25 <= (int)ppppppcVar5[0x14])" ( (binary_expression "(int)pppppcVar25 <= (int)ppppppcVar5[0x14]" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)ppppppcVar5[0x14]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[0x14]" identifier [ number_literal ]))) )) (compound_statement "{\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }" { (if_statement "if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;" if (parenthesized_expression "(ppppppcVar5[0x14] != pppppcVar25)" ( (binary_expression "ppppppcVar5[0x14] != pppppcVar25" (subscript_expression "ppppppcVar5[0x14]" identifier [ number_literal ]) != identifier) )) (goto_statement "goto LAB_00107c24;" goto statement_identifier ;)) (if_statement "if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }" if (parenthesized_expression "(ppppppcVar5[9] <= ppppppcVar5[0x15])" ( (binary_expression "ppppppcVar5[9] <= ppppppcVar5[0x15]" (subscript_expression "ppppppcVar5[9]" identifier [ number_literal ]) <= (subscript_expression "ppppppcVar5[0x15]" identifier [ number_literal ])) )) (compound_statement "{\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }" { (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (goto_statement "goto LAB_00107b8c;" goto statement_identifier ;) })) })) }) (else_clause "else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }" else (if_statement "if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }" if (parenthesized_expression "(((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9]))))" ( (binary_expression "((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))" (parenthesized_expression "((int)ppppppcVar5[0x12] <= (int)pppppcVar25)" ( (binary_expression "(int)ppppppcVar5[0x12] <= (int)pppppcVar25" (cast_expression "(int)ppppppcVar5[0x12]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[0x12]" identifier [ number_literal ])) <= (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))" ( (parenthesized_expression "(ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9]))" ( (binary_expression "ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])" (binary_expression "ppppppcVar5[0x12] != pppppcVar25" (subscript_expression "ppppppcVar5[0x12]" identifier [ number_literal ]) != identifier) || (parenthesized_expression "(ppppppcVar5[0x13] <= ppppppcVar5[9])" ( (binary_expression "ppppppcVar5[0x13] <= ppppppcVar5[9]" (subscript_expression "ppppppcVar5[0x13]" identifier [ number_literal ]) <= (subscript_expression "ppppppcVar5[9]" identifier [ number_literal ])) ))) )) ))) )) (compound_statement "{\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }" { (labeled_statement "LAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;" statement_identifier : (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (goto_statement "goto LAB_00107b8c;" goto statement_identifier ;) })))) (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "*(code *)((int)ppppppcVar5 + 6) = (code)0x1;" (assignment_expression "*(code *)((int)ppppppcVar5 + 6) = (code)0x1" (pointer_expression "*(code *)((int)ppppppcVar5 + 6)" * (cast_expression "(code *)((int)ppppppcVar5 + 6)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 6)" ( (binary_expression "(int)ppppppcVar5 + 6" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(code)0x1" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) }))) (labeled_statement "LAB_00107b8c:\n  if ((code *****)ppppcStack_184 == (code *****)*puVar30) {\n    return ppppppcVar31;\n  }" statement_identifier : (if_statement "if ((code *****)ppppcStack_184 == (code *****)*puVar30) {\n    return ppppppcVar31;\n  }" if (parenthesized_expression "((code *****)ppppcStack_184 == (code *****)*puVar30)" ( (binary_expression "(code *****)ppppcStack_184 == (code *****)*puVar30" (cast_expression "(code *****)ppppcStack_184" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(code *****)*puVar30" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*puVar30" * identifier))) )) (compound_statement "{\n    return ppppppcVar31;\n  }" { (return_statement "return ppppppcVar31;" return identifier ;) }))) (expression_statement "pcVar42 = *(code **)(pcStack_190 + -0x7ba0);" (assignment_expression "pcVar42 = *(code **)(pcStack_190 + -0x7ba0)" identifier = (pointer_expression "*(code **)(pcStack_190 + -0x7ba0)" * (cast_expression "(code **)(pcStack_190 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_190 + -0x7ba0)" ( (binary_expression "pcStack_190 + -0x7ba0" identifier + number_literal) ))))) ;) (expression_statement "pcVar43 = FUN_00107cac;" (assignment_expression "pcVar43 = FUN_00107cac" identifier = identifier) ;) (expression_statement "pppppcVar25 = (code *****)ppppcStack_184;" (assignment_expression "pppppcVar25 = (code *****)ppppcStack_184" identifier = (cast_expression "(code *****)ppppcStack_184" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "(*pcVar42)();" (call_expression "(*pcVar42)()" (parenthesized_expression "(*pcVar42)" ( (pointer_expression "*pcVar42" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "ppppppcVar38 = (code ******)pppppcStack_188;" (assignment_expression "ppppppcVar38 = (code ******)pppppcStack_188" identifier = (cast_expression "(code ******)pppppcStack_188" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "pcVar40 = pcStack_190;" (assignment_expression "pcVar40 = pcStack_190" identifier = identifier) ;) (expression_statement "piVar18 = *(int **)(pcVar42 + 0x53d80);" (assignment_expression "piVar18 = *(int **)(pcVar42 + 0x53d80)" identifier = (pointer_expression "*(int **)(pcVar42 + 0x53d80)" * (cast_expression "(int **)(pcVar42 + 0x53d80)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d80)" ( (binary_expression "pcVar42 + 0x53d80" identifier + number_literal) ))))) ;) (expression_statement "ppppppcVar28 = (code ******)((int)((int)ppppppcVar23 + -2) * 4);" (assignment_expression "ppppppcVar28 = (code ******)((int)((int)ppppppcVar23 + -2) * 4)" identifier = (cast_expression "(code ******)((int)((int)ppppppcVar23 + -2) * 4)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)((int)ppppppcVar23 + -2) * 4)" ( (binary_expression "(int)((int)ppppppcVar23 + -2) * 4" (cast_expression "(int)((int)ppppppcVar23 + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)ppppppcVar23 + -2)" ( (binary_expression "(int)ppppppcVar23 + -2" (cast_expression "(int)ppppppcVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) * number_literal) )))) ;) (expression_statement "pppppcStack_218 = (code *****)0x0;" (assignment_expression "pppppcStack_218 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iStack_1cc = *piVar18;" (assignment_expression "iStack_1cc = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "cVar1 = *(char *)(*(int *)pcStack_190 + 3);" (assignment_expression "cVar1 = *(char *)(*(int *)pcStack_190 + 3)" identifier = (pointer_expression "*(char *)(*(int *)pcStack_190 + 3)" * (cast_expression "(char *)(*(int *)pcStack_190 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcStack_190 + 3)" ( (binary_expression "*(int *)pcStack_190 + 3" (pointer_expression "*(int *)pcStack_190" * (cast_expression "(int *)pcStack_190" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "ppppcStack_214 = (code ****)0x0;" (assignment_expression "ppppcStack_214 = (code ****)0x0" identifier = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "ppppppcVar26 = ppppppcVar33;" (assignment_expression "ppppppcVar26 = ppppppcVar33" identifier = identifier) ;) (expression_statement "ppppppcVar35 = ppppppcVar23;" (assignment_expression "ppppppcVar35 = ppppppcVar23" identifier = identifier) ;) (expression_statement "pppppcStack_1c8 = (code *****)ppppppcVar5;" (assignment_expression "pppppcStack_1c8 = (code *****)ppppppcVar5" identifier = (cast_expression "(code *****)ppppppcVar5" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_1c4 = (code *****)ppppppcVar32;" (assignment_expression "pppppcStack_1c4 = (code *****)ppppppcVar32" identifier = (cast_expression "(code *****)ppppppcVar32" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "puStack_1c0 = puVar30;" (assignment_expression "puStack_1c0 = puVar30" identifier = identifier) ;) (expression_statement "pppppcStack_1bc = (code *****)ppppppcVar17;" (assignment_expression "pppppcStack_1bc = (code *****)ppppppcVar17" identifier = (cast_expression "(code *****)ppppppcVar17" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_1b8 = (code *****)ppppppcVar21;" (assignment_expression "pppppcStack_1b8 = (code *****)ppppppcVar21" identifier = (cast_expression "(code *****)ppppppcVar21" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_1b4 = (code *****)unaff_s5;" (assignment_expression "pppppcStack_1b4 = (code *****)unaff_s5" identifier = (cast_expression "(code *****)unaff_s5" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_1b0 = (code *****)unaff_s6;" (assignment_expression "pppppcStack_1b0 = (code *****)unaff_s6" identifier = (cast_expression "(code *****)unaff_s6" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_1ac = (code *****)unaff_s7;" (assignment_expression "pppppcStack_1ac = (code *****)unaff_s7" identifier = (cast_expression "(code *****)unaff_s7" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_1a8 = (code *****)unaff_s8;" (assignment_expression "pppppcStack_1a8 = (code *****)unaff_s8" identifier = (cast_expression "(code *****)unaff_s8" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_1a4 = pcVar43;" (assignment_expression "pcStack_1a4 = pcVar43" identifier = identifier) ;) (expression_statement "pppppcStack_1a0 = (code *****)ppppppcVar31;" (assignment_expression "pppppcStack_1a0 = (code *****)ppppppcVar31" identifier = (cast_expression "(code *****)ppppppcVar31" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar4 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4));" (assignment_expression "iVar4 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4))" identifier = (call_expression "(**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4))" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d18))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d18)" * (pointer_expression "*(code **)(pcVar42 + 0x53d18)" * (cast_expression "(code **)(pcVar42 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d18)" ( (binary_expression "pcVar42 + 0x53d18" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_190 + 4))" ( (pointer_expression "*(int *)(pcStack_190 + 4)" * (cast_expression "(int *)(pcStack_190 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_190 + 4)" ( (binary_expression "pcStack_190 + 4" identifier + number_literal) )))) )))) ;) (expression_statement "iVar6 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8));" (assignment_expression "iVar6 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8))" identifier = (call_expression "(**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8))" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d18))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d18)" * (pointer_expression "*(code **)(pcVar42 + 0x53d18)" * (cast_expression "(code **)(pcVar42 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d18)" ( (binary_expression "pcVar42 + 0x53d18" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar40 + 8))" ( (pointer_expression "*(int *)(pcVar40 + 8)" * (cast_expression "(int *)(pcVar40 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 8)" ( (binary_expression "pcVar40 + 8" identifier + number_literal) )))) )))) ;) (expression_statement "ppppppcVar21 = ppppppcVar28;" (assignment_expression "ppppppcVar21 = ppppppcVar28" identifier = identifier) ;) (expression_statement "piVar27 = (int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);" (assignment_expression "piVar27 = (int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28)" identifier = (cast_expression "(int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53ab4))" ( (pointer_expression "**(code **)(pcVar42 + 0x53ab4)" * (pointer_expression "*(code **)(pcVar42 + 0x53ab4)" * (cast_expression "(code **)(pcVar42 + 0x53ab4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53ab4)" ( (binary_expression "pcVar42 + 0x53ab4" identifier + number_literal) ))))) )) (argument_list "(0,ppppppcVar28)" ( number_literal , identifier ))))) ;) (if_statement "if (piVar27 != (int *)0x0) {\n    ppppppcVar26 = ppppppcVar28;\n    (**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);\n    ppppppcVar21 = ppppppcVar28;\n    iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n    if (iStack_284 != 0) {\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }\n  }" if (parenthesized_expression "(piVar27 != (int *)0x0)" ( (binary_expression "piVar27 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    ppppppcVar26 = ppppppcVar28;\n    (**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);\n    ppppppcVar21 = ppppppcVar28;\n    iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n    if (iStack_284 != 0) {\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }\n  }" { (expression_statement "ppppppcVar26 = ppppppcVar28;" (assignment_expression "ppppppcVar26 = ppppppcVar28" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);" (call_expression "(**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d08))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d08)" * (pointer_expression "*(code **)(pcVar42 + 0x53d08)" * (cast_expression "(code **)(pcVar42 + 0x53d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d08)" ( (binary_expression "pcVar42 + 0x53d08" identifier + number_literal) ))))) )) (argument_list "(piVar27,0,ppppppcVar28)" ( identifier , number_literal , identifier ))) ;) (expression_statement "ppppppcVar21 = ppppppcVar28;" (assignment_expression "ppppppcVar21 = ppppppcVar28" identifier = identifier) ;) (expression_statement "iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);" (assignment_expression "iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28)" identifier = (call_expression "(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53ab4))" ( (pointer_expression "**(code **)(pcVar42 + 0x53ab4)" * (pointer_expression "*(code **)(pcVar42 + 0x53ab4)" * (cast_expression "(code **)(pcVar42 + 0x53ab4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53ab4)" ( (binary_expression "pcVar42 + 0x53ab4" identifier + number_literal) ))))) )) (argument_list "(0,ppppppcVar28)" ( number_literal , identifier )))) ;) (if_statement "if (iStack_284 != 0) {\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }" if (parenthesized_expression "(iStack_284 != 0)" ( (binary_expression "iStack_284 != 0" identifier != number_literal) )) (compound_statement "{\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }" { (expression_statement "ppppppcVar21 = (code ******)0x0;" (assignment_expression "ppppppcVar21 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);" (call_expression "(**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d08))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d08)" * (pointer_expression "*(code **)(pcVar42 + 0x53d08)" * (cast_expression "(code **)(pcVar42 + 0x53d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d08)" ( (binary_expression "pcVar42 + 0x53d08" identifier + number_literal) ))))) )) (argument_list "(iStack_284,0,ppppppcVar28)" ( identifier , number_literal , identifier ))) ;) (if_statement "if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }" if (parenthesized_expression "((code ******)pppppcStack_218 != (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_218 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_218" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }" { (expression_statement "ppppppcVar5 = (code ******)0x0;" (assignment_expression "ppppppcVar5 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) (expression_statement "iVar7 = *(int *)(pcVar42 + 0x5393c);" (assignment_expression "iVar7 = *(int *)(pcVar42 + 0x5393c)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x5393c)" * (cast_expression "(int *)(pcVar42 + 0x5393c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x5393c)" ( (binary_expression "pcVar42 + 0x5393c" identifier + number_literal) ))))) ;) (if_statement "if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }" if (parenthesized_expression "((int)ppppppcVar23 < 4)" ( (binary_expression "(int)ppppppcVar23 < 4" (cast_expression "(int)ppppppcVar23" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }" { (expression_statement "pppppcVar29 = (code *****)0x0;" (assignment_expression "pppppcVar29 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" identifier = number_literal) ;) (expression_statement "bVar2 = 0;" (assignment_expression "bVar2 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }" else (compound_statement "{\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }" { (expression_statement "pcVar43 = pcVar40 + 0xc;" (assignment_expression "pcVar43 = pcVar40 + 0xc" identifier = (binary_expression "pcVar40 + 0xc" identifier + number_literal)) ;) (expression_statement "pppppcVar29 = (code *****)0x0;" (assignment_expression "pppppcVar29 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = *(int *)(pcVar42 + 0x5392c);" (assignment_expression "iVar8 = *(int *)(pcVar42 + 0x5392c)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x5392c)" * (cast_expression "(int *)(pcVar42 + 0x5392c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x5392c)" ( (binary_expression "pcVar42 + 0x5392c" identifier + number_literal) ))))) ;) (expression_statement "ppppppcVar5 = (code ******)0x3;" (assignment_expression "ppppppcVar5 = (code ******)0x3" identifier = (cast_expression "(code ******)0x3" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "bVar2 = 0;" (assignment_expression "bVar2 = 0" identifier = number_literal) ;) (expression_statement "iVar9 = *(int *)(pcVar42 + 0x539b0);" (assignment_expression "iVar9 = *(int *)(pcVar42 + 0x539b0)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x539b0)" * (cast_expression "(int *)(pcVar42 + 0x539b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x539b0)" ( (binary_expression "pcVar42 + 0x539b0" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(pcVar42 + 0x53a70);" (assignment_expression "iVar10 = *(int *)(pcVar42 + 0x53a70)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x53a70)" * (cast_expression "(int *)(pcVar42 + 0x53a70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53a70)" ( (binary_expression "pcVar42 + 0x53a70" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar11 = *(int *)(pcVar42 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) ))))) ;) (do_statement "do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);" do (compound_statement "{\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        }" { (expression_statement "ppppppcVar31 = *(code *******)pcVar43;" (assignment_expression "ppppppcVar31 = *(code *******)pcVar43" identifier = (pointer_expression "*(code *******)pcVar43" * (cast_expression "(code *******)pcVar43" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ;) (if_statement "if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }" if (parenthesized_expression "(((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12))" ( (binary_expression "((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)" (parenthesized_expression "((code *****)ppppcStack_214 == (code *****)0x0)" ( (binary_expression "(code *****)ppppcStack_214 == (code *****)0x0" (cast_expression "(code *****)ppppcStack_214" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) && (parenthesized_expression "(uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)" ( (comma_expression "uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12" (assignment_expression "uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31)" identifier = (call_expression "(**(code **)(pcVar42 + 0x53d18))(ppppppcVar31)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d18))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d18)" * (pointer_expression "*(code **)(pcVar42 + 0x53d18)" * (cast_expression "(code **)(pcVar42 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d18)" ( (binary_expression "pcVar42 + 0x53d18" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar31)" ( identifier )))) , (binary_expression "8 < uVar12" number_literal < identifier)) ))) )) (compound_statement "{\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }" { (expression_statement "ppppppcVar28 = (code ******)&DAT_00000008;" (assignment_expression "ppppppcVar28 = (code ******)&DAT_00000008" identifier = (cast_expression "(code ******)&DAT_00000008" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000008" & identifier))) ;) (expression_statement "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);" (assignment_expression "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344)" identifier = (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x2344)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x2344" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);" (assignment_expression "iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8)" identifier = (call_expression "(**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53a5c))" ( (pointer_expression "**(code **)(pcVar42 + 0x53a5c)" * (pointer_expression "*(code **)(pcVar42 + 0x53a5c)" * (cast_expression "(code **)(pcVar42 + 0x53a5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53a5c)" ( (binary_expression "pcVar42 + 0x53a5c" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar31,ppppppcVar21,8)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar13 != 0) goto LAB_00107e50;" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00107e50;" goto statement_identifier ;)) (if_statement "if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;" if (parenthesized_expression "(((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0'))" ( (binary_expression "((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')" (parenthesized_expression "((char)*(code *)(ppppppcVar31 + 2) < 0)" ( (binary_expression "(char)*(code *)(ppppppcVar31 + 2) < 0" (cast_expression "(char)*(code *)(ppppppcVar31 + 2)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)(ppppppcVar31 + 2)" * (cast_expression "(code *)(ppppppcVar31 + 2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcVar31 + 2)" ( (binary_expression "ppppppcVar31 + 2" identifier + number_literal) ))))) < number_literal) )) || (parenthesized_expression "(*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')" ( (binary_expression "*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0'" (pointer_expression "*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0)" * (cast_expression "(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0)" ( (binary_expression "(int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0" (binary_expression "(int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950)" (cast_expression "(int)(char)*(code *)(ppppppcVar31 + 2)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(code *)(ppppppcVar31 + 2)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)(ppppppcVar31 + 2)" * (cast_expression "(code *)(ppppppcVar31 + 2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcVar31 + 2)" ( (binary_expression "ppppppcVar31 + 2" identifier + number_literal) )))))) + (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) ))))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00107e50;" goto statement_identifier ;)) (expression_statement "ppppppcVar28 = (code ******)&ppppcStack_214;" (assignment_expression "ppppppcVar28 = (code ******)&ppppcStack_214" identifier = (cast_expression "(code ******)&ppppcStack_214" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&ppppcStack_214" & identifier))) ;) (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9)" identifier = (cast_expression "(code ******)((int)ppppppcVar31 + 9)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar31 + 9)" ( (binary_expression "(int)ppppppcVar31 + 9" (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppppppcVar35 = ppppppcVar38;" (assignment_expression "ppppppcVar35 = ppppppcVar38" identifier = identifier) ;) (expression_statement "pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);" (assignment_expression "pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28)" identifier = (cast_expression "(code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28)" (parenthesized_expression "(*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))" ( (pointer_expression "*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" * (cast_expression "(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" ( (binary_expression "*(int *)(pcVar42 + 0x53a58) + -0x73a8" (pointer_expression "*(int *)(pcVar42 + 0x53a58)" * (cast_expression "(int *)(pcVar42 + 0x53a58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53a58)" ( (binary_expression "pcVar42 + 0x53a58" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppppcVar33,ppppppcVar21,ppppppcVar28)" ( identifier , identifier , identifier ))))) ;) }) (else_clause "else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }" else (compound_statement "{\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }" { (labeled_statement "LAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }" statement_identifier : (if_statement "if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }" if (parenthesized_expression "(cVar1 == '4')" ( (binary_expression "cVar1 == '4'" identifier == (char_literal "'4'" ' character ')) )) (compound_statement "{\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }" { (expression_statement "pppppcVar37 = (code *****)0x0;" (assignment_expression "pppppcVar37 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" identifier = identifier) ;) (if_statement "if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }" if (parenthesized_expression "(*(code *)ppppppcVar31 == (code)0x3d)" ( (binary_expression "*(code *)ppppppcVar31 == (code)0x3d" (pointer_expression "*(code *)ppppppcVar31" * (cast_expression "(code *)ppppppcVar31" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (cast_expression "(code)0x3d" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }" { (labeled_statement "LAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);" statement_identifier : (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1)" identifier = (cast_expression "(code ******)((int)ppppppcVar21 + 1)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar21 + 1)" ( (binary_expression "(int)ppppppcVar21 + 1" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);" (assignment_expression "ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21)" identifier = (cast_expression "(code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 0x71f4,ppppppcVar21)" ( (binary_expression "iVar7 + 0x71f4" identifier + number_literal) , identifier ))))) ;) (if_statement "if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }" if (parenthesized_expression "(ppppppcVar17 == (code ******)0x0)" ( (binary_expression "ppppppcVar17 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }" { (expression_statement "pppppcStack_218 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_218 = (code *****)&DAT_00000007" identifier = (cast_expression "(code *****)&DAT_00000007" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }) (else_clause "else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }" else (compound_statement "{\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }" { (expression_statement "(*(code *)(iVar9 + 0x1120))(ppppppcVar17);" (call_expression "(*(code *)(iVar9 + 0x1120))(ppppppcVar17)" (parenthesized_expression "(*(code *)(iVar9 + 0x1120))" ( (pointer_expression "*(code *)(iVar9 + 0x1120)" * (cast_expression "(code *)(iVar9 + 0x1120)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1120)" ( (binary_expression "iVar9 + 0x1120" identifier + number_literal) )))) )) (argument_list "(ppppppcVar17)" ( identifier ))) ;) (expression_statement "ppppppcVar35 = (code ******)appppcStack_20c;" (assignment_expression "ppppppcVar35 = (code ******)appppcStack_20c" identifier = (cast_expression "(code ******)appppcStack_20c" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "puVar30 = (uint *)(iVar8 + -0x5f24);" (assignment_expression "puVar30 = (uint *)(iVar8 + -0x5f24)" identifier = (cast_expression "(uint *)(iVar8 + -0x5f24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x5f24)" ( (binary_expression "iVar8 + -0x5f24" identifier + number_literal) )))) ;) (expression_statement "ppppppcVar21 = ppppppcVar35;" (assignment_expression "ppppppcVar21 = ppppppcVar35" identifier = identifier) ;) (do_statement "do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));" do (compound_statement "{\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  }" { (expression_statement "puVar14 = puVar30 + 4;" (assignment_expression "puVar14 = puVar30 + 4" identifier = (binary_expression "puVar30 + 4" identifier + number_literal)) ;) (expression_statement "*ppppppcVar21 = (code *****)*puVar30;" (assignment_expression "*ppppppcVar21 = (code *****)*puVar30" (pointer_expression "*ppppppcVar21" * identifier) = (cast_expression "(code *****)*puVar30" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*puVar30" * identifier))) ;) (expression_statement "pppppcVar22 = (code *****)puVar30[2];" (assignment_expression "pppppcVar22 = (code *****)puVar30[2]" identifier = (cast_expression "(code *****)puVar30[2]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "puVar30[2]" identifier [ number_literal ]))) ;) (expression_statement "pppppcVar19 = (code *****)puVar30[3];" (assignment_expression "pppppcVar19 = (code *****)puVar30[3]" identifier = (cast_expression "(code *****)puVar30[3]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "puVar30[3]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar21[1] = (code *****)puVar30[1];" (assignment_expression "ppppppcVar21[1] = (code *****)puVar30[1]" (subscript_expression "ppppppcVar21[1]" identifier [ number_literal ]) = (cast_expression "(code *****)puVar30[1]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar21[2] = pppppcVar22;" (assignment_expression "ppppppcVar21[2] = pppppcVar22" (subscript_expression "ppppppcVar21[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar21[3] = pppppcVar19;" (assignment_expression "ppppppcVar21[3] = pppppcVar19" (subscript_expression "ppppppcVar21[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30 = puVar14;" (assignment_expression "puVar30 = puVar14" identifier = identifier) ;) (expression_statement "ppppppcVar21 = ppppppcVar21 + 4;" (assignment_expression "ppppppcVar21 = ppppppcVar21 + 4" identifier = (binary_expression "ppppppcVar21 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar14 != (uint *)(iVar8 + -0x5ee4))" ( (binary_expression "puVar14 != (uint *)(iVar8 + -0x5ee4)" identifier != (cast_expression "(uint *)(iVar8 + -0x5ee4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x5ee4)" ( (binary_expression "iVar8 + -0x5ee4" identifier + number_literal) )))) )) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "ppppppcVar21 = ppppppcVar35;" (assignment_expression "ppppppcVar21 = ppppppcVar35" identifier = identifier) ;) (do_statement "do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);" do (compound_statement "{\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  }" { (if_statement "if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }" if (parenthesized_expression "((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0))" ( (binary_expression "(ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)" (parenthesized_expression "(ppppppcVar21[1] == pppppcVar37)" ( (binary_expression "ppppppcVar21[1] == pppppcVar37" (subscript_expression "ppppppcVar21[1]" identifier [ number_literal ]) == identifier) )) && (parenthesized_expression "(iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)" ( (comma_expression "iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0" (assignment_expression "iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37)" identifier = (call_expression "(**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53a5c))" ( (pointer_expression "**(code **)(pcVar42 + 0x53a5c)" * (pointer_expression "*(code **)(pcVar42 + 0x53a5c)" * (cast_expression "(code **)(pcVar42 + 0x53a5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53a5c)" ( (binary_expression "pcVar42 + 0x53a5c" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar31,*ppppppcVar21,pppppcVar37)" ( identifier , (pointer_expression "*ppppppcVar21" * identifier) , identifier )))) , (binary_expression "iVar13 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                      if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }" { (if_statement "if (uVar12 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }" if (parenthesized_expression "(uVar12 < 8)" ( (binary_expression "uVar12 < 8" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }" { comment comment (expression_statement "ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();" (assignment_expression "ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))()" identifier = (cast_expression "(code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))()" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))()" (parenthesized_expression "(*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))" ( (pointer_expression "*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         )" * (parenthesized_expression "(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         )" ( (binary_expression "pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904" (binary_expression "pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4)" identifier + (pointer_expression "*(int *)(iVar11 + 0x1b1c + uVar12 * 4)" * (cast_expression "(int *)(iVar11 + 0x1b1c + uVar12 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1b1c + uVar12 * 4)" ( (binary_expression "iVar11 + 0x1b1c + uVar12 * 4" (binary_expression "iVar11 + 0x1b1c" identifier + number_literal) + (binary_expression "uVar12 * 4" identifier * number_literal)) ))))) + number_literal) ))) )) (argument_list "()" ( ))))) ;) (return_statement "return ppppppcVar21;" return identifier ;) })) (expression_statement "iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);" (assignment_expression "iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17)" identifier = (call_expression "(**(code **)(pcVar42 + 0x53d18))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d18))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d18)" * (pointer_expression "*(code **)(pcVar42 + 0x53d18)" * (cast_expression "(code **)(pcVar42 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d18)" ( (binary_expression "pcVar42 + 0x53d18" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar17)" ( identifier )))) ;) (if_statement "if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }" if (parenthesized_expression "(iVar13 == 4)" ( (binary_expression "iVar13 == 4" identifier == number_literal) )) (compound_statement "{\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }" { (expression_statement "ppppppcVar31 = (code ******)&DAT_00000004;" (assignment_expression "ppppppcVar31 = (code ******)&DAT_00000004" identifier = (cast_expression "(code ******)&DAT_00000004" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000004" & identifier))) ;) (expression_statement "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);" (assignment_expression "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528)" identifier = (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x2528)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x2528" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);" (assignment_expression "iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4)" identifier = (call_expression "(**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53a5c))" ( (pointer_expression "**(code **)(pcVar42 + 0x53a5c)" * (pointer_expression "*(code **)(pcVar42 + 0x53a5c)" * (cast_expression "(code **)(pcVar42 + 0x53a5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53a5c)" ( (binary_expression "pcVar42 + 0x53a5c" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar17,ppppppcVar21,4)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }" { (expression_statement "bVar2 = 1;" (assignment_expression "bVar2 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0010823c;" goto statement_identifier ;) })) })) (expression_statement "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);" (assignment_expression "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698)" identifier = (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x3698)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3698" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppppcVar31 = ppppppcVar17;" (assignment_expression "ppppppcVar31 = ppppppcVar17" identifier = identifier) ;) (expression_statement "(*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);" (call_expression "(*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17)" (parenthesized_expression "(*(code *)(iVar10 + 0x2618))" ( (pointer_expression "*(code *)(iVar10 + 0x2618)" * (cast_expression "(code *)(iVar10 + 0x2618)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2618)" ( (binary_expression "iVar10 + 0x2618" identifier + number_literal) )))) )) (argument_list "(ppppppcVar38,ppppppcVar21,ppppppcVar17)" ( identifier , identifier , identifier ))) ;) (expression_statement "bVar2 = 1;" (assignment_expression "bVar2 = 1" identifier = number_literal) ;) (expression_statement "pppppcStack_218 = (code *****)0x1;" (assignment_expression "pppppcStack_218 = (code *****)0x1" identifier = (cast_expression "(code *****)0x1" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (goto_statement "goto LAB_0010823c;" goto statement_identifier ;) })) (expression_statement "uVar12 = uVar12 + 1;" (assignment_expression "uVar12 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;) (expression_statement "ppppppcVar21 = ppppppcVar21 + 2;" (assignment_expression "ppppppcVar21 = ppppppcVar21 + 2" identifier = (binary_expression "ppppppcVar21 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar12 != 8)" ( (binary_expression "uVar12 != 8" identifier != number_literal) )) ;) (expression_statement "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);" (assignment_expression "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658)" identifier = (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x3658)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3658" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);" (call_expression "(*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31)" (parenthesized_expression "(*(code *)(iVar10 + 0x2618))" ( (pointer_expression "*(code *)(iVar10 + 0x2618)" * (cast_expression "(code *)(iVar10 + 0x2618)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2618)" ( (binary_expression "iVar10 + 0x2618" identifier + number_literal) )))) )) (argument_list "(ppppppcVar38,ppppppcVar21,ppppppcVar31)" ( identifier , identifier , identifier ))) ;) (expression_statement "pppppcStack_218 = (code *****)0x1;" (assignment_expression "pppppcStack_218 = (code *****)0x1" identifier = (cast_expression "(code *****)0x1" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (labeled_statement "LAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);" statement_identifier : (expression_statement "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17);" (call_expression "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar17)" ( identifier ))) ;)) (expression_statement "ppppppcVar28 = ppppppcVar31;" (assignment_expression "ppppppcVar28 = ppppppcVar31" identifier = identifier) ;) }))) (goto_statement "goto LAB_00107e88;" goto statement_identifier ;) })) (if_statement "if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;" if (parenthesized_expression "(*(code *)ppppppcVar31 == (code)0x0)" ( (binary_expression "*(code *)ppppppcVar31 == (code)0x0" (pointer_expression "*(code *)ppppppcVar31" * (cast_expression "(code *)ppppppcVar31" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_00107e5c;" goto statement_identifier ;)) (do_statement "do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);" do (compound_statement "{\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              }" { (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1)" identifier = (cast_expression "(code ******)((int)ppppppcVar21 + 1)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar21 + 1)" ( (binary_expression "(int)ppppppcVar21 + 1" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);" (assignment_expression "pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31)" identifier = (cast_expression "(code *****)((int)ppppppcVar21 - (int)ppppppcVar31)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppcVar21 - (int)ppppppcVar31)" ( (binary_expression "(int)ppppppcVar21 - (int)ppppppcVar31" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;" if (parenthesized_expression "(*(code *)ppppppcVar21 == (code)0x3d)" ( (binary_expression "*(code *)ppppppcVar21 == (code)0x3d" (pointer_expression "*(code *)ppppppcVar21" * (cast_expression "(code *)ppppppcVar21" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (cast_expression "(code)0x3d" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_001080a4;" goto statement_identifier ;)) (expression_statement "pcVar41 = *(code **)(pcVar42 + 0x53d18);" (assignment_expression "pcVar41 = *(code **)(pcVar42 + 0x53d18)" identifier = (pointer_expression "*(code **)(pcVar42 + 0x53d18)" * (cast_expression "(code **)(pcVar42 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d18)" ( (binary_expression "pcVar42 + 0x53d18" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(code *)ppppppcVar21 != (code)0x0)" ( (binary_expression "*(code *)ppppppcVar21 != (code)0x0" (pointer_expression "*(code *)ppppppcVar21" * (cast_expression "(code *)ppppppcVar21" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) ;) }) (else_clause "else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }" else (compound_statement "{\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }" { (labeled_statement "LAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);" statement_identifier : (expression_statement "pcVar41 = *(code **)(pcVar42 + 0x53d18);" (assignment_expression "pcVar41 = *(code **)(pcVar42 + 0x53d18)" identifier = (pointer_expression "*(code **)(pcVar42 + 0x53d18)" * (cast_expression "(code **)(pcVar42 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d18)" ( (binary_expression "pcVar42 + 0x53d18" identifier + number_literal) ))))) ;)) })))) (expression_statement "iVar13 = (*pcVar41)(ppppppcVar31);" (assignment_expression "iVar13 = (*pcVar41)(ppppppcVar31)" identifier = (call_expression "(*pcVar41)(ppppppcVar31)" (parenthesized_expression "(*pcVar41)" ( (pointer_expression "*pcVar41" * identifier) )) (argument_list "(ppppppcVar31)" ( identifier )))) ;) (expression_statement "iVar36 = iVar36 + 1 + iVar13;" (assignment_expression "iVar36 = iVar36 + 1 + iVar13" identifier = (binary_expression "iVar36 + 1 + iVar13" (binary_expression "iVar36 + 1" identifier + number_literal) + identifier)) ;) (expression_statement "piVar16 = piVar27 + (int)pppppcVar29;" (assignment_expression "piVar16 = piVar27 + (int)pppppcVar29" identifier = (binary_expression "piVar27 + (int)pppppcVar29" identifier + (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pppppcVar29 = (code *****)((int)pppppcVar29 + 1);" (assignment_expression "pppppcVar29 = (code *****)((int)pppppcVar29 + 1)" identifier = (cast_expression "(code *****)((int)pppppcVar29 + 1)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppcVar29 + 1)" ( (binary_expression "(int)pppppcVar29 + 1" (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*piVar16 = (int)ppppppcVar31;" (assignment_expression "*piVar16 = (int)ppppppcVar31" (pointer_expression "*piVar16" * identifier) = (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (labeled_statement "LAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);" statement_identifier : (expression_statement "ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);" (assignment_expression "ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1)" identifier = (cast_expression "(code ******)((int)ppppppcVar5 + 1)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar5 + 1)" ( (binary_expression "(int)ppppppcVar5 + 1" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (if_statement "if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }" if (parenthesized_expression "((code ******)pppppcStack_218 != (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_218 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_218" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }" { (expression_statement "ppppppcVar5 = (code ******)0x0;" (assignment_expression "ppppppcVar5 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) (expression_statement "pcVar43 = pcVar43 + 4;" (assignment_expression "pcVar43 = pcVar43 + 4" identifier = (binary_expression "pcVar43 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(ppppppcVar23 != ppppppcVar5)" ( (binary_expression "ppppppcVar23 != ppppppcVar5" identifier != identifier) )) ;) }))) (if_statement "if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }" if (parenthesized_expression "(pppppcVar29 == (code *****)0x0)" ( (binary_expression "pppppcVar29 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }" { (expression_statement "pppppcVar29 = (code *****)0x1;" (assignment_expression "pppppcVar29 = (code *****)0x1" identifier = (cast_expression "(code *****)0x1" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iVar36 = 8;" (assignment_expression "iVar36 = 8" identifier = number_literal) ;) (expression_statement "*piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;" (assignment_expression "*piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48" (pointer_expression "*piVar27" * identifier) = (binary_expression "*(int *)(pcVar42 + 0x5393c) + 0x6a48" (pointer_expression "*(int *)(pcVar42 + 0x5393c)" * (cast_expression "(int *)(pcVar42 + 0x5393c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x5393c)" ( (binary_expression "pcVar42 + 0x5393c" identifier + number_literal) )))) + number_literal)) ;) })) (if_statement "if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }" if (parenthesized_expression "((code *****)ppppcStack_214 == (code *****)0x0)" ( (binary_expression "(code *****)ppppcStack_214 == (code *****)0x0" (cast_expression "(code *****)ppppcStack_214" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }" { (expression_statement "ppppppcVar28 = (code ******)&ppppcStack_214;" (assignment_expression "ppppppcVar28 = (code ******)&ppppcStack_214" identifier = (cast_expression "(code ******)&ppppcStack_214" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&ppppcStack_214" & identifier))) ;) (expression_statement "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);" (assignment_expression "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8)" identifier = (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x3ef8)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3ef8" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);" (assignment_expression "pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28)" identifier = (cast_expression "(code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28)" (parenthesized_expression "(*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))" ( (pointer_expression "*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" * (cast_expression "(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" ( (binary_expression "*(int *)(pcVar42 + 0x53a58) + -0x73a8" (pointer_expression "*(int *)(pcVar42 + 0x53a58)" * (cast_expression "(int *)(pcVar42 + 0x53a58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53a58)" ( (binary_expression "pcVar42 + 0x53a58" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppppcVar33,ppppppcVar21,ppppppcVar28)" ( identifier , identifier , identifier ))))) ;) (expression_statement "ppppppcVar35 = ppppppcVar38;" (assignment_expression "ppppppcVar35 = ppppppcVar38" identifier = identifier) ;) (if_statement "if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }" if (parenthesized_expression "((code ******)pppppcStack_218 != (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_218 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_218" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }" { (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" identifier = number_literal) ;) (expression_statement "ppppppcVar5 = (code ******)0x0;" (assignment_expression "ppppppcVar5 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) })) (expression_statement "ppppppcVar21 = (code ******)0x18;" (assignment_expression "ppppppcVar21 = (code ******)0x18" identifier = (cast_expression "(code ******)0x18" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);" (assignment_expression "iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18)" identifier = (call_expression "(**(code **)(pcVar42 + 0x53ab4))(0,0x18)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53ab4))" ( (pointer_expression "**(code **)(pcVar42 + 0x53ab4)" * (pointer_expression "*(code **)(pcVar42 + 0x53ab4)" * (cast_expression "(code **)(pcVar42 + 0x53ab4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53ab4)" ( (binary_expression "pcVar42 + 0x53ab4" identifier + number_literal) ))))) )) (argument_list "(0,0x18)" ( number_literal , number_literal )))) ;) (if_statement "if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }" if (parenthesized_expression "(iStack_278 == 0)" ( (binary_expression "iStack_278 == 0" identifier == number_literal) )) (compound_statement "{\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }" { (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" identifier = number_literal) ;) (expression_statement "ppppppcVar5 = (code ******)0x0;" (assignment_expression "ppppppcVar5 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppcStack_218 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_218 = (code *****)&DAT_00000007" identifier = (cast_expression "(code *****)&DAT_00000007" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);" (call_expression "(**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d08))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d08)" * (pointer_expression "*(code **)(pcVar42 + 0x53d08)" * (cast_expression "(code **)(pcVar42 + 0x53d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d08)" ( (binary_expression "pcVar42 + 0x53d08" identifier + number_literal) ))))) )) (argument_list "(iStack_278,0,0x18)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pppppcStack_218 = (code *****)0x0;" (assignment_expression "pppppcStack_218 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);" (assignment_expression "ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4)" identifier = (cast_expression "(code ******)(((int)pppppcVar29 + 0x4eU) * 4)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(((int)pppppcVar29 + 0x4eU) * 4)" ( (binary_expression "((int)pppppcVar29 + 0x4eU) * 4" (parenthesized_expression "((int)pppppcVar29 + 0x4eU)" ( (binary_expression "(int)pppppcVar29 + 0x4eU" (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) * number_literal) )))) ;) (expression_statement "ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);" (assignment_expression "ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4)" identifier = (cast_expression "(code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4)" ( (binary_expression "(int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4" (binary_expression "(int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1" (binary_expression "(int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6" (binary_expression "(int)ppppppcVar28 + (int)pppppcVar29 + iVar36" (binary_expression "(int)ppppppcVar28 + (int)pppppcVar29" (cast_expression "(int)ppppppcVar28" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier)) + identifier) + identifier) + number_literal) + identifier) )))) ;) (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" identifier = identifier) ;) (expression_statement "ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);" (assignment_expression "ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31)" identifier = (cast_expression "(code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53ab4))" ( (pointer_expression "**(code **)(pcVar42 + 0x53ab4)" * (pointer_expression "*(code **)(pcVar42 + 0x53ab4)" * (cast_expression "(code **)(pcVar42 + 0x53ab4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53ab4)" ( (binary_expression "pcVar42 + 0x53ab4" identifier + number_literal) ))))) )) (argument_list "(0,ppppppcVar31)" ( number_literal , identifier ))))) ;) (if_statement "if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }" if (parenthesized_expression "(ppppppcVar5 == (code ******)0x0)" ( (binary_expression "ppppppcVar5 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }" { (expression_statement "pppppcStack_218 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_218 = (code *****)&DAT_00000007" identifier = (cast_expression "(code *****)&DAT_00000007" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);" (call_expression "(**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d08))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d08)" * (pointer_expression "*(code **)(pcVar42 + 0x53d08)" * (cast_expression "(code **)(pcVar42 + 0x53d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d08)" ( (binary_expression "pcVar42 + 0x53d08" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5,0,ppppppcVar31)" ( identifier , number_literal , identifier ))) ;) (expression_statement "ppppppcVar21 = ppppppcVar5 + 0x48;" (assignment_expression "ppppppcVar21 = ppppppcVar5 + 0x48" identifier = (binary_expression "ppppppcVar5 + 0x48" identifier + number_literal)) ;) (expression_statement "ppppppcVar5[6] = pppppcVar29;" (assignment_expression "ppppppcVar5[6] = pppppcVar29" (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar5[3] = pppppcVar25;" (assignment_expression "ppppppcVar5[3] = pppppcVar25" (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar5[0x42] = (code *****)0x0;" (assignment_expression "ppppppcVar5[0x42] = (code *****)0x0" (subscript_expression "ppppppcVar5[0x42]" identifier [ number_literal ]) = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar5[7] = (code *****)ppppppcVar21;" (assignment_expression "ppppppcVar5[7] = (code *****)ppppppcVar21" (subscript_expression "ppppppcVar5[7]" identifier [ number_literal ]) = (cast_expression "(code *****)ppppppcVar21" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppppcVar5[9] = (code *****)ppppcStack_214;" (assignment_expression "ppppppcVar5[9] = (code *****)ppppcStack_214" (subscript_expression "ppppppcVar5[9]" identifier [ number_literal ]) = (cast_expression "(code *****)ppppcStack_214" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppppcVar5[0x41] = (code *****)0x100000;" (assignment_expression "ppppppcVar5[0x41] = (code *****)0x100000" (subscript_expression "ppppppcVar5[0x41]" identifier [ number_literal ]) = (cast_expression "(code *****)0x100000" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }" if (parenthesized_expression "(cVar1 == '4')" ( (binary_expression "cVar1 == '4'" identifier == (char_literal "'4'" ' character ')) )) (compound_statement "{\n        cVar20 = (code)(bVar2 ^ 1);\n      }" { (expression_statement "cVar20 = (code)(bVar2 ^ 1);" (assignment_expression "cVar20 = (code)(bVar2 ^ 1)" identifier = (call_expression "(code)(bVar2 ^ 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar2 ^ 1)" ( (binary_expression "bVar2 ^ 1" identifier ^ number_literal) )))) ;) }) (else_clause "else {\n        cVar20 = (code)0x0;\n      }" else (compound_statement "{\n        cVar20 = (code)0x0;\n      }" { (expression_statement "cVar20 = (code)0x0;" (assignment_expression "cVar20 = (code)0x0" identifier = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) }))) (expression_statement "*(code *)((int)ppppppcVar5 + 0xea) = cVar20;" (assignment_expression "*(code *)((int)ppppppcVar5 + 0xea) = cVar20" (pointer_expression "*(code *)((int)ppppppcVar5 + 0xea)" * (cast_expression "(code *)((int)ppppppcVar5 + 0xea)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 0xea)" ( (binary_expression "(int)ppppppcVar5 + 0xea" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pcVar43 = *(code **)(pcVar42 + 0x53d84);" (assignment_expression "pcVar43 = *(code **)(pcVar42 + 0x53d84)" identifier = (pointer_expression "*(code **)(pcVar42 + 0x53d84)" * (cast_expression "(code **)(pcVar42 + 0x53d84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d84)" ( (binary_expression "pcVar42 + 0x53d84" identifier + number_literal) ))))) ;) (expression_statement "*(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;" (assignment_expression "*(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0" (pointer_expression "*(code *)((int)ppppppcVar5 + 0xeb)" * (cast_expression "(code *)((int)ppppppcVar5 + 0xeb)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 0xeb)" ( (binary_expression "(int)ppppppcVar5 + 0xeb" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "ppppppcVar5[10] = (code *****)0x0;" (assignment_expression "ppppppcVar5[10] = (code *****)0x0" (subscript_expression "ppppppcVar5[10]" identifier [ number_literal ]) = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar5[0xb] = (code *****)0x0;" (assignment_expression "ppppppcVar5[0xb] = (code *****)0x0" (subscript_expression "ppppppcVar5[0xb]" identifier [ number_literal ]) = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);" (assignment_expression "ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29)" (subscript_expression "ppppppcVar5[0x40]" identifier [ number_literal ]) = (cast_expression "(code *****)(ppppppcVar21 + (int)pppppcVar29)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(ppppppcVar21 + (int)pppppcVar29)" ( (binary_expression "ppppppcVar21 + (int)pppppcVar29" identifier + (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppcVar5[0xc] = (code *****)0xff;" (assignment_expression "ppppppcVar5[0xc] = (code *****)0xff" (subscript_expression "ppppppcVar5[0xc]" identifier [ number_literal ]) = (cast_expression "(code *****)0xff" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "*(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';" (assignment_expression "*(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4'" (pointer_expression "*(bool *)((int)ppppppcVar5 + 0xe9)" * (cast_expression "(bool *)((int)ppppppcVar5 + 0xe9)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 0xe9)" ( (binary_expression "(int)ppppppcVar5 + 0xe9" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "cVar1 == '4'" identifier == (char_literal "'4'" ' character '))) ;) (expression_statement "*(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';" (assignment_expression "*(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4'" (pointer_expression "*(bool *)(ppppppcVar5 + 0x3a)" * (cast_expression "(bool *)(ppppppcVar5 + 0x3a)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcVar5 + 0x3a)" ( (binary_expression "ppppppcVar5 + 0x3a" identifier + number_literal) )))) = (binary_expression "cVar1 == '4'" identifier == (char_literal "'4'" ' character '))) ;) (expression_statement "(*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);" (call_expression "(*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18)" (parenthesized_expression "(*pcVar43)" ( (pointer_expression "*pcVar43" * identifier) )) (argument_list "(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18)" ( (binary_expression "ppppppcVar21 + (int)pppppcVar29" identifier + (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier , number_literal ))) ;) (expression_statement "ppppppcVar5[0x3f] = (code *****)0x1;" (assignment_expression "ppppppcVar5[0x3f] = (code *****)0x1" (subscript_expression "ppppppcVar5[0x3f]" identifier [ number_literal ]) = (cast_expression "(code *****)0x1" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);" do (compound_statement "{\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      }" { (expression_statement "pppppcVar25 = ppppppcVar5[0x40];" (assignment_expression "pppppcVar25 = ppppppcVar5[0x40]" identifier = (subscript_expression "ppppppcVar5[0x40]" identifier [ number_literal ])) ;) (expression_statement "iVar36 = iVar36 + 1;" (assignment_expression "iVar36 = iVar36 + 1" identifier = (binary_expression "iVar36 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;" (assignment_expression "*(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101" (pointer_expression "*(undefined2 *)((int)pppppcVar25 + iVar7 + 4)" * (cast_expression "(undefined2 *)((int)pppppcVar25 + iVar7 + 4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar25 + iVar7 + 4)" ( (binary_expression "(int)pppppcVar25 + iVar7 + 4" (binary_expression "(int)pppppcVar25 + iVar7" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;" (assignment_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0" (pointer_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc)" * (cast_expression "(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar25 + iVar7 + 0xc)" ( (binary_expression "(int)pppppcVar25 + iVar7 + 0xc" (binary_expression "(int)pppppcVar25 + iVar7" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;" (assignment_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0" (pointer_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 8)" * (cast_expression "(undefined4 *)((int)pppppcVar25 + iVar7 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar25 + iVar7 + 8)" ( (binary_expression "(int)pppppcVar25 + iVar7 + 8" (binary_expression "(int)pppppcVar25 + iVar7" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;" (assignment_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0" (pointer_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10)" * (cast_expression "(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar25 + iVar7 + 0x10)" ( (binary_expression "(int)pppppcVar25 + iVar7 + 0x10" (binary_expression "(int)pppppcVar25 + iVar7" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;" (assignment_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0" (pointer_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14)" * (cast_expression "(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar25 + iVar7 + 0x14)" ( (binary_expression "(int)pppppcVar25 + iVar7 + 0x14" (binary_expression "(int)pppppcVar25 + iVar7" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = iVar7 + 0x18;" (assignment_expression "iVar7 = iVar7 + 0x18" identifier = (binary_expression "iVar7 + 0x18" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar36 != 1)" ( (binary_expression "iVar36 != 1" identifier != number_literal) )) ;) (expression_statement "pcVar43 = *(code **)(pcVar42 + 0x53d84);" (assignment_expression "pcVar43 = *(code **)(pcVar42 + 0x53d84)" identifier = (pointer_expression "*(code **)(pcVar42 + 0x53d84)" * (cast_expression "(code **)(pcVar42 + 0x53d84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d84)" ( (binary_expression "pcVar42 + 0x53d84" identifier + number_literal) ))))) ;) (expression_statement "pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);" (assignment_expression "pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29)" identifier = (cast_expression "(code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29)" ( (binary_expression "(int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29" (cast_expression "(int)(ppppppcVar5[0x40] + 6)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppppppcVar5[0x40] + 6)" ( (binary_expression "ppppppcVar5[0x40] + 6" (subscript_expression "ppppppcVar5[0x40]" identifier [ number_literal ]) + number_literal) ))) + (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppcVar5[8] = ppppppcVar5[0x40] + 6;" (assignment_expression "ppppppcVar5[8] = ppppppcVar5[0x40] + 6" (subscript_expression "ppppppcVar5[8]" identifier [ number_literal ]) = (binary_expression "ppppppcVar5[0x40] + 6" (subscript_expression "ppppppcVar5[0x40]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "ppppppcVar5[5] = pppppcVar25;" (assignment_expression "ppppppcVar5[5] = pppppcVar25" (subscript_expression "ppppppcVar5[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);" (assignment_expression "pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1)" identifier = (cast_expression "(code *****)((int)pppppcVar25 + iVar6 + 1)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppcVar25 + iVar6 + 1)" ( (binary_expression "(int)pppppcVar25 + iVar6 + 1" (binary_expression "(int)pppppcVar25 + iVar6" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "iVar6 = (int)pppppcVar37 + iVar4;" (assignment_expression "iVar6 = (int)pppppcVar37 + iVar4" identifier = (binary_expression "(int)pppppcVar37 + iVar4" (cast_expression "(int)pppppcVar37" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "(*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));" (call_expression "(*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8))" (parenthesized_expression "(*pcVar43)" ( (pointer_expression "*pcVar43" * identifier) )) (argument_list "(pppppcVar25,*(int *)(pcVar40 + 8))" ( identifier , (pointer_expression "*(int *)(pcVar40 + 8)" * (cast_expression "(int *)(pcVar40 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 8)" ( (binary_expression "pcVar40 + 8" identifier + number_literal) )))) ))) ;) (expression_statement "ppppppcVar5[4] = pppppcVar37;" (assignment_expression "ppppppcVar5[4] = pppppcVar37" (subscript_expression "ppppppcVar5[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);" (call_expression "(**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d84))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d84)" * (pointer_expression "*(code **)(pcVar42 + 0x53d84)" * (cast_expression "(code **)(pcVar42 + 0x53d84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d84)" ( (binary_expression "pcVar42 + 0x53d84" identifier + number_literal) ))))) )) (argument_list "(pppppcVar37,*(int *)(pcVar40 + 4),iVar4)" ( identifier , (pointer_expression "*(int *)(pcVar40 + 4)" * (cast_expression "(int *)(pcVar40 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 4)" ( (binary_expression "pcVar40 + 4" identifier + number_literal) )))) , identifier ))) ;) (if_statement "if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }" if (parenthesized_expression "(0 < (int)pppppcVar29)" ( (binary_expression "0 < (int)pppppcVar29" number_literal < (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }" { (expression_statement "iVar7 = *(int *)(pcVar42 + 0x539b0);" (assignment_expression "iVar7 = *(int *)(pcVar42 + 0x539b0)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x539b0)" * (cast_expression "(int *)(pcVar42 + 0x539b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x539b0)" ( (binary_expression "pcVar42 + 0x539b0" identifier + number_literal) ))))) ;) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" identifier = number_literal) ;) (expression_statement "iVar4 = *(int *)(pcVar42 + 0x539b0);" (assignment_expression "iVar4 = *(int *)(pcVar42 + 0x539b0)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x539b0)" * (cast_expression "(int *)(pcVar42 + 0x539b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x539b0)" ( (binary_expression "pcVar42 + 0x539b0" identifier + number_literal) ))))) ;) (do_statement "do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);" do (compound_statement "{\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        }" { (expression_statement "pppppcStack_210 = (code *****)0x0;" (assignment_expression "pppppcStack_210 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);" (assignment_expression "uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210)" identifier = (call_expression "(*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210)" (parenthesized_expression "(*(code *)(iVar4 + 0x273c))" ( (pointer_expression "*(code *)(iVar4 + 0x273c)" * (cast_expression "(code *)(iVar4 + 0x273c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x273c)" ( (binary_expression "iVar4 + 0x273c" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210)" ( (pointer_expression "*(undefined4 *)((int)piVar27 + iVar36)" * (cast_expression "(undefined4 *)((int)piVar27 + iVar36)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar27 + iVar36)" ( (binary_expression "(int)piVar27 + iVar36" (cast_expression "(int)piVar27" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) , (pointer_expression "&pppppcStack_210" & identifier) )))) ;) (if_statement "if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }" if (parenthesized_expression "(0 < (int)pppppcStack_210)" ( (binary_expression "0 < (int)pppppcStack_210" number_literal < (cast_expression "(int)pppppcStack_210" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }" { (expression_statement "(**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);" (call_expression "(**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d84))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d84)" * (pointer_expression "*(code **)(pcVar42 + 0x53d84)" * (cast_expression "(code **)(pcVar42 + 0x53d84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d84)" ( (binary_expression "pcVar42 + 0x53d84" identifier + number_literal) ))))) )) (argument_list "(iVar6,uVar15)" ( identifier , identifier ))) ;) })) (expression_statement "*(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0" (pointer_expression "*(undefined1 *)(iVar6 + (int)pppppcStack_210)" * (cast_expression "(undefined1 *)(iVar6 + (int)pppppcStack_210)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + (int)pppppcStack_210)" ( (binary_expression "iVar6 + (int)pppppcStack_210" identifier + (cast_expression "(int)pppppcStack_210" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = number_literal) ;) (expression_statement "(*(code *)(iVar7 + 0x1120))(iVar6);" (call_expression "(*(code *)(iVar7 + 0x1120))(iVar6)" (parenthesized_expression "(*(code *)(iVar7 + 0x1120))" ( (pointer_expression "*(code *)(iVar7 + 0x1120)" * (cast_expression "(code *)(iVar7 + 0x1120)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1120)" ( (binary_expression "iVar7 + 0x1120" identifier + number_literal) )))) )) (argument_list "(iVar6)" ( identifier ))) ;) (expression_statement "piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);" (assignment_expression "piVar16 = (int *)((int)ppppppcVar5[7] + iVar36)" identifier = (cast_expression "(int *)((int)ppppppcVar5[7] + iVar36)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5[7] + iVar36)" ( (binary_expression "(int)ppppppcVar5[7] + iVar36" (cast_expression "(int)ppppppcVar5[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[7]" identifier [ number_literal ])) + identifier) )))) ;) (expression_statement "iVar36 = iVar36 + 4;" (assignment_expression "iVar36 = iVar36 + 4" identifier = (binary_expression "iVar36 + 4" identifier + number_literal)) ;) (expression_statement "*piVar16 = iVar6;" (assignment_expression "*piVar16 = iVar6" (pointer_expression "*piVar16" * identifier) = identifier) ;) (expression_statement "iVar6 = (int)pppppcStack_210 + iVar6 + 1;" (assignment_expression "iVar6 = (int)pppppcStack_210 + iVar6 + 1" identifier = (binary_expression "(int)pppppcStack_210 + iVar6 + 1" (binary_expression "(int)pppppcStack_210 + iVar6" (cast_expression "(int)pppppcStack_210" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal)) ;) }) while (parenthesized_expression "((int)pppppcVar29 * 4 != iVar36)" ( (binary_expression "(int)pppppcVar29 * 4 != iVar36" (binary_expression "(int)pppppcVar29 * 4" (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) != identifier) )) ;) (expression_statement "pppppcVar25 = (code *****)0x0;" (assignment_expression "pppppcVar25 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (do_statement "do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);" do (compound_statement "{\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        }" { (expression_statement "(**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);" (call_expression "(**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25])" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d18))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d18)" * (pointer_expression "*(code **)(pcVar42 + 0x53d18)" * (cast_expression "(code **)(pcVar42 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d18)" ( (binary_expression "pcVar42 + 0x53d18" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5[7][(int)pppppcVar25])" ( (subscript_expression "ppppppcVar5[7][(int)pppppcVar25]" (subscript_expression "ppppppcVar5[7]" identifier [ number_literal ]) [ (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) ]) ))) ;) (expression_statement "pppppcVar25 = (code *****)((int)pppppcVar25 + 1);" (assignment_expression "pppppcVar25 = (code *****)((int)pppppcVar25 + 1)" identifier = (cast_expression "(code *****)((int)pppppcVar25 + 1)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppcVar25 + 1)" ( (binary_expression "(int)pppppcVar25 + 1" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(pppppcVar25 != pppppcVar29)" ( (binary_expression "pppppcVar25 != pppppcVar29" identifier != identifier) )) ;) })) (expression_statement "ppppppcVar31 = &pppppcStack_210;" (assignment_expression "ppppppcVar31 = &pppppcStack_210" identifier = (pointer_expression "&pppppcStack_210" & identifier)) ;) (expression_statement "pppppcStack_210 = (code *****)0x0;" (assignment_expression "pppppcStack_210 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }" if (parenthesized_expression "(ppppppcVar5[10] == (code *****)0x0)" ( (binary_expression "ppppppcVar5[10] == (code *****)0x0" (subscript_expression "ppppppcVar5[10]" identifier [ number_literal ]) == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }" { (expression_statement "iVar4 = *(int *)(pcVar42 + 0x5393c);" (assignment_expression "iVar4 = *(int *)(pcVar42 + 0x5393c)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x5393c)" * (cast_expression "(int *)(pcVar42 + 0x5393c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x5393c)" ( (binary_expression "pcVar42 + 0x5393c" identifier + number_literal) ))))) ;) (expression_statement "pppppcStack_210 = (code *****)0x0;" (assignment_expression "pppppcStack_210 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);" (assignment_expression "pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" identifier = (cast_expression "(code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" ( (binary_expression "*(int *)(pcVar42 + 0x53a58) + -0x70d4" (pointer_expression "*(int *)(pcVar42 + 0x53a58)" * (cast_expression "(int *)(pcVar42 + 0x53a58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53a58)" ( (binary_expression "pcVar42 + 0x53a58" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3610" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }" if (parenthesized_expression "(0 < (int)ppppppcVar5[6])" ( (binary_expression "0 < (int)ppppppcVar5[6]" number_literal < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) (compound_statement "{\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }" { (expression_statement "iVar7 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar7 = *(int *)(pcVar42 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);" do (compound_statement "{\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          }" { (expression_statement "iVar36 = iVar6 + 1;" (assignment_expression "iVar36 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6])" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6])" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "iVar7 + -0x3608" identifier + number_literal) , (binary_expression "iVar4 + 0x53f4" identifier + number_literal) , identifier , (subscript_expression "ppppppcVar5[7][iVar6]" (subscript_expression "ppppppcVar5[7]" identifier [ number_literal ]) [ identifier ]) ))) ;) (expression_statement "iVar6 = iVar36;" (assignment_expression "iVar6 = iVar36" identifier = identifier) ;) }) while (parenthesized_expression "(iVar36 < (int)ppppppcVar5[6])" ( (binary_expression "iVar36 < (int)ppppppcVar5[6]" identifier < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) ;) })) (if_statement "if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }" if (parenthesized_expression "(ppppppcVar5[0xb] != (code *****)0x0)" ( (binary_expression "ppppppcVar5[0xb] != (code *****)0x0" (subscript_expression "ppppppcVar5[0xb]" identifier [ number_literal ]) != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }" { (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x35f8" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3594" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) }) (else_clause "else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }" else (compound_statement "{\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }" { (expression_statement "pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);" (assignment_expression "pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" identifier = (cast_expression "(code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" ( (binary_expression "*(int *)(pcVar42 + 0x53a58) + -0x70d4" (pointer_expression "*(int *)(pcVar42 + 0x53a58)" * (cast_expression "(int *)(pcVar42 + 0x53a58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53a58)" ( (binary_expression "pcVar42 + 0x53a58" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x7714" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }" if (parenthesized_expression "(0 < (int)ppppppcVar5[6])" ( (binary_expression "0 < (int)ppppppcVar5[6]" number_literal < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) (compound_statement "{\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }" { (expression_statement "iVar4 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar4 = *(int *)(pcVar42 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);" do (compound_statement "{\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          }" { (expression_statement "pppppcVar25 = ppppppcVar5[7] + iVar6;" (assignment_expression "pppppcVar25 = ppppppcVar5[7] + iVar6" identifier = (binary_expression "ppppppcVar5[7] + iVar6" (subscript_expression "ppppppcVar5[7]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "iVar4 + -0x35f0" identifier + number_literal) , (pointer_expression "*pppppcVar25" * identifier) ))) ;) }) while (parenthesized_expression "(iVar6 < (int)ppppppcVar5[6])" ( (binary_expression "iVar6 < (int)ppppppcVar5[6]" identifier < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) ;) })) (if_statement "if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }" if (parenthesized_expression "(ppppppcVar5[0xb] != (code *****)0x0)" ( (binary_expression "ppppppcVar5[0xb] != (code *****)0x0" (subscript_expression "ppppppcVar5[0xb]" identifier [ number_literal ]) != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }" { (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x35f8" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) ))) ;) })) }))) (expression_statement "in_stack_fffffd68 = ppppppcVar5[10];" (assignment_expression "in_stack_fffffd68 = ppppppcVar5[10]" identifier = (subscript_expression "ppppppcVar5[10]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar35 = (code ******)ppppppcVar5[4];" (assignment_expression "ppppppcVar35 = (code ******)ppppppcVar5[4]" identifier = (cast_expression "(code ******)ppppppcVar5[4]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[4]" identifier [ number_literal ]))) ;) (if_statement "if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }" if (parenthesized_expression "(in_stack_fffffd68 == (code *****)0x0)" ( (binary_expression "in_stack_fffffd68 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }" { (expression_statement "in_stack_fffffd68 = ppppppcVar5[5];" (assignment_expression "in_stack_fffffd68 = ppppppcVar5[5]" identifier = (subscript_expression "ppppppcVar5[5]" identifier [ number_literal ])) ;) (expression_statement "in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;" (assignment_expression "in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000" identifier = (binary_expression "*(int *)(pcVar42 + 0x53950) + -14000" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }" else (compound_statement "{\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }" { (expression_statement "in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;" (assignment_expression "in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4" identifier = (binary_expression "*(int *)(pcVar42 + 0x5393c) + 0x53f4" (pointer_expression "*(int *)(pcVar42 + 0x5393c)" * (cast_expression "(int *)(pcVar42 + 0x5393c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x5393c)" ( (binary_expression "pcVar42 + 0x5393c" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x35e4" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , identifier , identifier , identifier ))) ;) (expression_statement "ppppppcVar5[0x37] = pppppcStack_210;" (assignment_expression "ppppppcVar5[0x37] = pppppcStack_210" (subscript_expression "ppppppcVar5[0x37]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar4 = *(int *)(pcVar42 + 0x5393c);" (assignment_expression "iVar4 = *(int *)(pcVar42 + 0x5393c)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x5393c)" * (cast_expression "(int *)(pcVar42 + 0x5393c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x5393c)" ( (binary_expression "pcVar42 + 0x5393c" identifier + number_literal) ))))) ;) (expression_statement "pppppcStack_210 = (code *****)0x0;" (assignment_expression "pppppcStack_210 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" identifier = identifier) ;) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x4774" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }" if (parenthesized_expression "(0 < (int)ppppppcVar5[6])" ( (binary_expression "0 < (int)ppppppcVar5[6]" number_literal < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) (compound_statement "{\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }" { (expression_statement "iVar7 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar7 = *(int *)(pcVar42 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);" do (compound_statement "{\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        }" { (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" identifier = identifier) ;) (expression_statement "ppppppcVar35 = (code ******)(iVar4 + 0x53f4);" (assignment_expression "ppppppcVar35 = (code ******)(iVar4 + 0x53f4)" identifier = (cast_expression "(code ******)(iVar4 + 0x53f4)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar4 + 0x53f4)" ( (binary_expression "iVar4 + 0x53f4" identifier + number_literal) )))) ;) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "iVar7 + -0x35cc" identifier + number_literal) ))) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < (int)ppppppcVar5[6])" ( (binary_expression "iVar6 < (int)ppppppcVar5[6]" identifier < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);" (assignment_expression "ppppppcVar28 = *(code *******)(pcVar42 + 0x53950)" identifier = (pointer_expression "*(code *******)(pcVar42 + 0x53950)" * (cast_expression "(code *******)(pcVar42 + 0x53950)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) ))))) ;) (if_statement "if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }" if (parenthesized_expression "(ppppppcVar5[0xb] != (code *****)0x0)" ( (binary_expression "ppppppcVar5[0xb] != (code *****)0x0" (subscript_expression "ppppppcVar5[0xb]" identifier [ number_literal ]) != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }" { (expression_statement "ppppppcVar28 = ppppppcVar28 + -0xd71;" (assignment_expression "ppppppcVar28 = ppppppcVar28 + -0xd71" identifier = (binary_expression "ppppppcVar28 + -0xd71" identifier + number_literal)) ;) (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" identifier = identifier) ;) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,ppppppcVar28)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , identifier ))) ;) })) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "ppppppcVar5[0x38] = pppppcStack_210;" (assignment_expression "ppppppcVar5[0x38] = pppppcStack_210" (subscript_expression "ppppppcVar5[0x38]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;" if (parenthesized_expression "((code ******)pppppcStack_218 != (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_218 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_218" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;)) (if_statement "if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }" if (parenthesized_expression "((code ******)pppppcStack_1a0 == (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_1a0 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_1a0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }" { (if_statement "if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }" if (parenthesized_expression "(cVar1 != '4')" ( (binary_expression "cVar1 != '4'" identifier != (char_literal "'4'" ' character ')) )) (compound_statement "{\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }" { (expression_statement "*(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;" (assignment_expression "*(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2" (pointer_expression "*(code *)((int)ppppppcVar5 + 0xe9)" * (cast_expression "(code *)((int)ppppppcVar5 + 0xe9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 0xe9)" ( (binary_expression "(int)ppppppcVar5 + 0xe9" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(code)0x2" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) })) }) (else_clause "else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }" else (compound_statement "{\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }" { (expression_statement "pppppcStack_210 = (code *****)0x0;" (assignment_expression "pppppcStack_210 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar17 = (code ******)ppppppcVar5[3];" (assignment_expression "ppppppcVar17 = (code ******)ppppppcVar5[3]" identifier = (cast_expression "(code ******)ppppppcVar5[3]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]))) ;) (if_statement "if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }" if (parenthesized_expression "(ppppppcVar5[10] == (code *****)0x0)" ( (binary_expression "ppppppcVar5[10] == (code *****)0x0" (subscript_expression "ppppppcVar5[10]" identifier [ number_literal ]) == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }" { (expression_statement "pppppcVar25 = ppppppcVar5[0xb];" (assignment_expression "pppppcVar25 = ppppppcVar5[0xb]" identifier = (subscript_expression "ppppppcVar5[0xb]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);" (assignment_expression "iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0)" identifier = (call_expression "(**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x35c0)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x35c0" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }" { (labeled_statement "LAB_00109454:\n            iVar4 = 0;" statement_identifier : (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;)) (expression_statement "pppppcStack_210 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_210 = (code *****)&DAT_00000007" identifier = (cast_expression "(code *****)&DAT_00000007" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }) (else_clause "else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }" else (compound_statement "{\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }" { (expression_statement "iVar6 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar6 = *(int *)(pcVar42 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) ))))) ;) (if_statement "if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }" if (parenthesized_expression "(0 < (int)ppppppcVar5[6])" ( (binary_expression "0 < (int)ppppppcVar5[6]" number_literal < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) (compound_statement "{\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);" do (compound_statement "{\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              }" { (expression_statement "iVar36 = iVar7 + 1;" (assignment_expression "iVar36 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);" (assignment_expression "iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7])" identifier = (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7])" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7])" ( (binary_expression "iVar6 + -0x35a4" identifier + number_literal) , identifier , identifier , (subscript_expression "ppppppcVar5[7][iVar7]" (subscript_expression "ppppppcVar5[7]" identifier [ number_literal ]) [ identifier ]) )))) ;) (if_statement "if (iVar4 == 0) goto LAB_00109454;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00109454;" goto statement_identifier ;)) (expression_statement "iVar7 = iVar36;" (assignment_expression "iVar7 = iVar36" identifier = identifier) ;) }) while (parenthesized_expression "(iVar36 < (int)ppppppcVar5[6])" ( (binary_expression "iVar36 < (int)ppppppcVar5[6]" identifier < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) ;) })) (if_statement "if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;" if (parenthesized_expression "((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0))" ( (binary_expression "(pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)" (parenthesized_expression "(pppppcVar25 != (code *****)0x0)" ( (binary_expression "pppppcVar25 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) && (parenthesized_expression "(iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25)" identifier = (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3598" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00109454;" goto statement_identifier ;)) }))) (expression_statement "in_stack_fffffd6c = iVar4;" (assignment_expression "in_stack_fffffd6c = iVar4" identifier = identifier) ;) (expression_statement "FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);" (call_expression "FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4)" identifier (argument_list "(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4)" ( identifier , identifier , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x358c" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , (subscript_expression "ppppppcVar5[4]" identifier [ number_literal ]) , (subscript_expression "ppppppcVar5[5]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "(**(code **)(pcVar42 + 0x53974))(iVar4);" (call_expression "(**(code **)(pcVar42 + 0x53974))(iVar4)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) })) (expression_statement "FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);" (call_expression "FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5])" identifier (argument_list "(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5])" ( identifier , identifier , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3568" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , (subscript_expression "ppppppcVar5[4]" identifier [ number_literal ]) , (subscript_expression "ppppppcVar5[5]" identifier [ number_literal ]) ))) ;) (expression_statement "in_stack_fffffd68 = ppppppcVar5[5];" (assignment_expression "in_stack_fffffd68 = ppppppcVar5[5]" identifier = (subscript_expression "ppppppcVar5[5]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar35 = (code ******)ppppppcVar5[4];" (assignment_expression "ppppppcVar35 = (code ******)ppppppcVar5[4]" identifier = (cast_expression "(code ******)ppppppcVar5[4]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[4]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);" (assignment_expression "ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520)" identifier = (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x3520)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3520" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppppcVar21 = ppppppcVar17;" (assignment_expression "ppppppcVar21 = ppppppcVar17" identifier = identifier) ;) (expression_statement "FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);" (call_expression "FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68)" identifier (argument_list "(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }" if (parenthesized_expression "(*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0)" ( (binary_expression "*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0" (pointer_expression "*(code *)((int)ppppppcVar5 + 0xea)" * (cast_expression "(code *)((int)ppppppcVar5 + 0xea)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 0xea)" ( (binary_expression "(int)ppppppcVar5 + 0xea" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }" { (expression_statement "in_stack_fffffd68 = ppppppcVar5[5];" (assignment_expression "in_stack_fffffd68 = ppppppcVar5[5]" identifier = (subscript_expression "ppppppcVar5[5]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar35 = (code ******)ppppppcVar5[4];" (assignment_expression "ppppppcVar35 = (code ******)ppppppcVar5[4]" identifier = (cast_expression "(code ******)ppppppcVar5[4]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[4]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);" (assignment_expression "ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484)" identifier = (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x3484)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3484" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);" (call_expression "FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68)" identifier (argument_list "(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "ppppppcVar21 = ppppppcVar17;" (assignment_expression "ppppppcVar21 = ppppppcVar17" identifier = identifier) ;) })) (if_statement "if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }" if (parenthesized_expression "(*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0)" ( (binary_expression "*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0" (pointer_expression "*(code *)((int)ppppppcVar5 + 0xe9)" * (cast_expression "(code *)((int)ppppppcVar5 + 0xe9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 0xe9)" ( (binary_expression "(int)ppppppcVar5 + 0xe9" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }" { (expression_statement "ppppppcVar21 = ppppppcVar5;" (assignment_expression "ppppppcVar21 = ppppppcVar5" identifier = identifier) ;) (expression_statement "FUN_00100a58(ppppppcVar31,ppppppcVar5);" (call_expression "FUN_00100a58(ppppppcVar31,ppppppcVar5)" identifier (argument_list "(ppppppcVar31,ppppppcVar5)" ( identifier , identifier ))) ;) })) (expression_statement "pppppcStack_218 = pppppcStack_210;" (assignment_expression "pppppcStack_218 = pppppcStack_210" identifier = identifier) ;) (if_statement "if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }" if (parenthesized_expression "((code ******)pppppcStack_210 != (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_210 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_210" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }" { (expression_statement "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);" (assignment_expression "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23)" (subscript_expression "ppppppcVar5[0x39]" identifier [ number_literal ]) = (cast_expression "(code *****)((int)ppppppcVar5[0x3c] - 0x23)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppcVar5[0x3c] - 0x23)" ( (binary_expression "(int)ppppppcVar5[0x3c] - 0x23" (cast_expression "(int)ppppppcVar5[0x3c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[0x3c]" identifier [ number_literal ])) - number_literal) )))) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) }))) (expression_statement "ppppppcVar21 = (code ******)ppppppcVar5[4];" (assignment_expression "ppppppcVar21 = (code ******)ppppppcVar5[4]" identifier = (cast_expression "(code ******)ppppppcVar5[4]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[4]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);" (assignment_expression "ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21)" identifier = (cast_expression "(code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x33d4" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , identifier ))))) ;) (if_statement "if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }" if (parenthesized_expression "(ppppppcVar17 == (code ******)0x0)" ( (binary_expression "ppppppcVar17 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }" { (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "pppppcStack_218 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_218 = (code *****)&DAT_00000007" identifier = (cast_expression "(code *****)&DAT_00000007" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);" (assignment_expression "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23)" (subscript_expression "ppppppcVar5[0x39]" identifier [ number_literal ]) = (cast_expression "(code *****)((int)ppppppcVar5[0x3c] - 0x23)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppcVar5[0x3c] - 0x23)" ( (binary_expression "(int)ppppppcVar5[0x3c] - 0x23" (cast_expression "(int)ppppppcVar5[0x3c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[0x3c]" identifier [ number_literal ])) - number_literal) )))) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) (expression_statement "ppppppcVar28 = (code ******)0xffffffff;" (assignment_expression "ppppppcVar28 = (code ******)0xffffffff" identifier = (cast_expression "(code ******)0xffffffff" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "in_stack_fffffd68 = (code *****)0x0;" (assignment_expression "in_stack_fffffd68 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar21 = ppppppcVar17;" (assignment_expression "ppppppcVar21 = ppppppcVar17" identifier = identifier) ;) (expression_statement "ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);" (assignment_expression "ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0)" identifier = (cast_expression "(code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0)" identifier (argument_list "(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0)" ( (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]) , identifier , number_literal , identifier , number_literal ))))) ;) (if_statement "if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }" if (parenthesized_expression "(ppppppcVar38 == (code ******)0x0)" ( (binary_expression "ppppppcVar38 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }" { (expression_statement "(**(code **)(pcVar42 + 0x53984))(pppppcStack_210);" (call_expression "(**(code **)(pcVar42 + 0x53984))(pppppcStack_210)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53984))" ( (pointer_expression "**(code **)(pcVar42 + 0x53984)" * (pointer_expression "*(code **)(pcVar42 + 0x53984)" * (cast_expression "(code **)(pcVar42 + 0x53984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53984)" ( (binary_expression "pcVar42 + 0x53984" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_210)" ( identifier ))) ;) (expression_statement "ppppppcVar21 = (code ******)0x0;" (assignment_expression "ppppppcVar21 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);" (assignment_expression "pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0)" identifier = (cast_expression "(code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53998))" ( (pointer_expression "**(code **)(pcVar42 + 0x53998)" * (pointer_expression "*(code **)(pcVar42 + 0x53998)" * (cast_expression "(code **)(pcVar42 + 0x53998)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53998)" ( (binary_expression "pcVar42 + 0x53998" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_210,0)" ( identifier , number_literal ))))) ;) (expression_statement "ppppppcVar5[0x3c] = pppppcVar25;" (assignment_expression "ppppppcVar5[0x3c] = pppppcVar25" (subscript_expression "ppppppcVar5[0x3c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);" (assignment_expression "ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210)" identifier = (cast_expression "(code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar42 + 0x53990))(pppppcStack_210)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53990))" ( (pointer_expression "**(code **)(pcVar42 + 0x53990)" * (pointer_expression "*(code **)(pcVar42 + 0x53990)" * (cast_expression "(code **)(pcVar42 + 0x53990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53990)" ( (binary_expression "pcVar42 + 0x53990" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_210)" ( identifier ))))) ;) (expression_statement "ppppppcVar35 = ppppppcVar31;" (assignment_expression "ppppppcVar35 = ppppppcVar31" identifier = identifier) ;) (labeled_statement "LAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);" statement_identifier : (expression_statement "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17);" (call_expression "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar17)" ( identifier ))) ;)) (expression_statement "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);" (assignment_expression "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23)" (subscript_expression "ppppppcVar5[0x39]" identifier [ number_literal ]) = (cast_expression "(code *****)((int)ppppppcVar5[0x3c] - 0x23)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppcVar5[0x3c] - 0x23)" ( (binary_expression "(int)ppppppcVar5[0x3c] - 0x23" (cast_expression "(int)ppppppcVar5[0x3c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[0x3c]" identifier [ number_literal ])) - number_literal) )))) ;) (expression_statement "pppppcStack_218 = (code *****)ppppppcVar38;" (assignment_expression "pppppcStack_218 = (code *****)ppppppcVar38" identifier = (cast_expression "(code *****)ppppppcVar38" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;" if (parenthesized_expression "(ppppppcVar38 != (code ******)0x0)" ( (binary_expression "ppppppcVar38 != (code ******)0x0" identifier != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;)) }) (else_clause "else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }" else (compound_statement "{\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }" { (expression_statement "pcVar40 = *(code **)(pcVar42 + 0x53974);" (assignment_expression "pcVar40 = *(code **)(pcVar42 + 0x53974)" identifier = (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) ;) (expression_statement "ppppppcVar35 = ppppppcVar31;" (assignment_expression "ppppppcVar35 = ppppppcVar31" identifier = identifier) ;) (if_statement "if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;" if (parenthesized_expression "(ppppppcVar38 != (code ******)&DAT_00000017)" ( (binary_expression "ppppppcVar38 != (code ******)&DAT_00000017" identifier != (cast_expression "(code ******)&DAT_00000017" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000017" & identifier))) )) (goto_statement "goto LAB_001089a8;" goto statement_identifier ;)) (expression_statement "ppppppcVar5[0x3c] = (code *****)0x400;" (assignment_expression "ppppppcVar5[0x3c] = (code *****)0x400" (subscript_expression "ppppppcVar5[0x3c]" identifier [ number_literal ]) = (cast_expression "(code *****)0x400" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "(*pcVar40)(ppppppcVar17);" (call_expression "(*pcVar40)(ppppppcVar17)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(ppppppcVar17)" ( identifier ))) ;) (expression_statement "pppppcStack_218 = (code *****)0x0;" (assignment_expression "pppppcStack_218 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);" (assignment_expression "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23)" (subscript_expression "ppppppcVar5[0x39]" identifier [ number_literal ]) = (cast_expression "(code *****)((int)ppppppcVar5[0x3c] - 0x23)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppcVar5[0x3c] - 0x23)" ( (binary_expression "(int)ppppppcVar5[0x3c] - 0x23" (cast_expression "(int)ppppppcVar5[0x3c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[0x3c]" identifier [ number_literal ])) - number_literal) )))) ;) }))) (expression_statement "ppppppcVar35 = (code ******)ppppppcVar5[0xb];" (assignment_expression "ppppppcVar35 = (code ******)ppppppcVar5[0xb]" identifier = (cast_expression "(code ******)ppppppcVar5[0xb]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[0xb]" identifier [ number_literal ]))) ;) (if_statement "if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }" if (parenthesized_expression "(ppppppcVar35 == (code ******)0x0)" ( (binary_expression "ppppppcVar35 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }" { (expression_statement "ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);" (assignment_expression "ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4)" identifier = (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x36a4)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x36a4" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "(**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);" (call_expression "(**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53c10))" ( (pointer_expression "**(code **)(pcVar42 + 0x53c10)" * (pointer_expression "*(code **)(pcVar42 + 0x53c10)" * (cast_expression "(code **)(pcVar42 + 0x53c10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53c10)" ( (binary_expression "pcVar42 + 0x53c10" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5[3],1,1)" ( (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]) , number_literal , number_literal ))) ;) (expression_statement "ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);" (assignment_expression "ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7])" identifier = (cast_expression "(code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7])" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7])" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7])" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3440" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , (pointer_expression "*ppppppcVar5[7]" * (subscript_expression "ppppppcVar5[7]" identifier [ number_literal ])) ))))) ;) (if_statement "if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }" if (parenthesized_expression "(ppppppcVar31 == (code ******)0x0)" ( (binary_expression "ppppppcVar31 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }" { (labeled_statement "LAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;" statement_identifier : (expression_statement "ppppppcVar21 = (code ******)0x0;" (assignment_expression "ppppppcVar21 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (expression_statement "ppppppcVar28 = (code ******)ppppppcVar5[5];" (assignment_expression "ppppppcVar28 = (code ******)ppppppcVar5[5]" identifier = (cast_expression "(code ******)ppppppcVar5[5]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[5]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar38 = (code ******)&DAT_00000007;" (assignment_expression "ppppppcVar38 = (code ******)&DAT_00000007" identifier = (cast_expression "(code ******)&DAT_00000007" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);" (assignment_expression "ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28)" identifier = (cast_expression "(code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3430" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))))) ;) }) (else_clause "else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }" else (compound_statement "{\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }" { (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (if_statement "if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }" if (parenthesized_expression "(1 < (int)ppppppcVar5[6])" ( (binary_expression "1 < (int)ppppppcVar5[6]" number_literal < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) (compound_statement "{\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }" { (expression_statement "iVar6 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar6 = *(int *)(pcVar42 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) ))))) ;) (do_statement "do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);" do (compound_statement "{\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          }" { (expression_statement "pppppcVar25 = ppppppcVar5[7] + iVar4;" (assignment_expression "pppppcVar25 = ppppppcVar5[7] + iVar4" identifier = (binary_expression "ppppppcVar5[7] + iVar4" (subscript_expression "ppppppcVar5[7]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);" (assignment_expression "ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25)" identifier = (cast_expression "(code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(iVar6 + -0x3438,ppppppcVar31,*pppppcVar25)" ( (binary_expression "iVar6 + -0x3438" identifier + number_literal) , identifier , (pointer_expression "*pppppcVar25" * identifier) ))))) ;) (if_statement "if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;" if (parenthesized_expression "(ppppppcVar31 == (code ******)0x0)" ( (binary_expression "ppppppcVar31 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_00108a70;" goto statement_identifier ;)) }) while (parenthesized_expression "(iVar4 < (int)ppppppcVar5[6])" ( (binary_expression "iVar4 < (int)ppppppcVar5[6]" identifier < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "ppppppcVar28 = (code ******)ppppppcVar5[5];" (assignment_expression "ppppppcVar28 = (code ******)ppppppcVar5[5]" identifier = (cast_expression "(code ******)ppppppcVar5[5]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[5]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" identifier = identifier) ;) (expression_statement "ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);" (assignment_expression "ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28)" identifier = (cast_expression "(code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3430" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (if_statement "if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }" if (parenthesized_expression "(ppppppcVar17 == (code ******)0x0)" ( (binary_expression "ppppppcVar17 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }" { (expression_statement "ppppppcVar38 = (code ******)&DAT_00000007;" (assignment_expression "ppppppcVar38 = (code ******)&DAT_00000007" identifier = (cast_expression "(code ******)&DAT_00000007" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }) (else_clause "else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }" else (compound_statement "{\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }" { (expression_statement "ppppppcVar21 = ppppppcVar17;" (assignment_expression "ppppppcVar21 = ppppppcVar17" identifier = identifier) ;) (expression_statement "ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);" (assignment_expression "ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17)" identifier = (cast_expression "(code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17)" identifier (argument_list "(ppppppcVar5[3],ppppppcVar17)" ( (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]) , identifier ))))) ;) }))) }))) (expression_statement "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17);" (call_expression "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar17)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar42 + 0x53974))(ppppppcVar31);" (call_expression "(**(code **)(pcVar42 + 0x53974))(ppppppcVar31)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar31)" ( identifier ))) ;) (expression_statement "pppppcStack_218 = (code *****)ppppppcVar38;" (assignment_expression "pppppcStack_218 = (code *****)ppppppcVar38" identifier = (cast_expression "(code *****)ppppppcVar38" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) })) (expression_statement "ppppppcVar28 = ppppppcVar26;" (assignment_expression "ppppppcVar28 = ppppppcVar26" identifier = identifier) ;) (expression_statement "iStack_284 = 0;" (assignment_expression "iStack_284 = 0" identifier = number_literal) ;) (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" identifier = number_literal) ;) (expression_statement "ppppppcVar5 = (code ******)0x0;" (assignment_expression "ppppppcVar5 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppcStack_218 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_218 = (code *****)&DAT_00000007" identifier = (cast_expression "(code *****)&DAT_00000007" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (labeled_statement "LAB_00107f4c:\n  (**(code **)(pcVar42 + 0x53974))(0);" statement_identifier : (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;)) (expression_statement "(**(code **)(pcVar42 + 0x53974))(iStack_278);" (call_expression "(**(code **)(pcVar42 + 0x53974))(iStack_278)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(iStack_278)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "(**(code **)(pcVar42 + 0x53974))(piVar27);" (call_expression "(**(code **)(pcVar42 + 0x53974))(piVar27)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(piVar27)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar42 + 0x53974))(iStack_284);" (call_expression "(**(code **)(pcVar42 + 0x53974))(iStack_284)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(iStack_284)" ( identifier ))) ;) (if_statement "if ((code ******)pppppcStack_218 == (code ******)0x0) {\n    *puStack_18c = ppppppcVar5;\n  }\n  else if (ppppppcVar5 == (code ******)0x0) {\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }" if (parenthesized_expression "((code ******)pppppcStack_218 == (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_218 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_218" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    *puStack_18c = ppppppcVar5;\n  }" { (expression_statement "*puStack_18c = ppppppcVar5;" (assignment_expression "*puStack_18c = ppppppcVar5" (pointer_expression "*puStack_18c" * identifier) = identifier) ;) }) (else_clause "else if (ppppppcVar5 == (code ******)0x0) {\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }" else (if_statement "if (ppppppcVar5 == (code ******)0x0) {\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }" if (parenthesized_expression "(ppppppcVar5 == (code ******)0x0)" ( (binary_expression "ppppppcVar5 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }" { (if_statement "if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }" if (parenthesized_expression "((code *****)ppppcStack_214 != (code *****)0x0)" ( (binary_expression "(code *****)ppppcStack_214 != (code *****)0x0" (cast_expression "(code *****)ppppcStack_214" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      (*(code *)(*ppppcStack_214)[2])();\n    }" { (expression_statement "(*(code *)(*ppppcStack_214)[2])();" (call_expression "(*(code *)(*ppppcStack_214)[2])()" (parenthesized_expression "(*(code *)(*ppppcStack_214)[2])" ( (pointer_expression "*(code *)(*ppppcStack_214)[2]" * (cast_expression "(code *)(*ppppcStack_214)[2]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*ppppcStack_214)[2]" (parenthesized_expression "(*ppppcStack_214)" ( (pointer_expression "*ppppcStack_214" * identifier) )) [ number_literal ]))) )) (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }" else (compound_statement "{\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }" { (expression_statement "(*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);" (call_expression "(*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5)" (parenthesized_expression "(*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))" ( (pointer_expression "*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c)" * (cast_expression "(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53a4c) + 0x585c)" ( (binary_expression "*(int *)(pcVar42 + 0x53a4c) + 0x585c" (pointer_expression "*(int *)(pcVar42 + 0x53a4c)" * (cast_expression "(int *)(pcVar42 + 0x53a4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53a4c)" ( (binary_expression "pcVar42 + 0x53a4c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppppcVar5)" ( identifier ))) ;) }))))) (if_statement "if (iStack_1cc == *piVar18) {\n    return (code ******)pppppcStack_218;\n  }" if (parenthesized_expression "(iStack_1cc == *piVar18)" ( (binary_expression "iStack_1cc == *piVar18" identifier == (pointer_expression "*piVar18" * identifier)) )) (compound_statement "{\n    return (code ******)pppppcStack_218;\n  }" { (return_statement "return (code ******)pppppcStack_218;" return (cast_expression "(code ******)pppppcStack_218" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) ;) })) (expression_statement "iVar4 = iStack_1cc;" (assignment_expression "iVar4 = iStack_1cc" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar42 + 0x53d64))();" (call_expression "(**(code **)(pcVar42 + 0x53d64))()" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d64))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d64)" * (pointer_expression "*(code **)(pcVar42 + 0x53d64)" * (cast_expression "(code **)(pcVar42 + 0x53d64)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d64)" ( (binary_expression "pcVar42 + 0x53d64" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "ppppppcVar21 = (code ******)\n                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c);" (assignment_expression "ppppppcVar21 = (code ******)\n                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c)" identifier = (cast_expression "(code ******)\n                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c)" identifier (argument_list "(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c)" ( number_literal , identifier , identifier , identifier , identifier , identifier , identifier ))))) ;) (return_statement "return ppppppcVar21;" return identifier ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x00108664) */\n/* WARNING: Removing unreachable block (ram,0x00108670) */\n/* WARNING: Removing unreachable block (ram,0x00108680) */\n/* WARNING: Removing unreachable block (ram,0x001086a4) */\n/* WARNING: Removing unreachable block (ram,0x00108658) */\n/* WARNING: Removing unreachable block (ram,0x001086d0) */\n/* WARNING: Removing unreachable block (ram,0x00108880) */\n/* WARNING: Removing unreachable block (ram,0x00108764) */\n/* WARNING: Removing unreachable block (ram,0x001086ec) */\n/* WARNING: Removing unreachable block (ram,0x00108710) */\n/* WARNING: Removing unreachable block (ram,0x0010871c) */\n/* WARNING: Removing unreachable block (ram,0x00108730) */\n/* WARNING: Removing unreachable block (ram,0x001081b8) */\n/* WARNING: Removing unreachable block (ram,0x00108cc8) */\n/* WARNING: Removing unreachable block (ram,0x00108d00) */\n/* WARNING: Removing unreachable block (ram,0x00109274) */\n/* WARNING: Removing unreachable block (ram,0x00108d28) */\n/* WARNING: Removing unreachable block (ram,0x00108d54) */\n/* WARNING: Removing unreachable block (ram,0x00108d68) */\n/* WARNING: Removing unreachable block (ram,0x00108da8) */\n/* WARNING: Removing unreachable block (ram,0x00108dc8) */\n/* WARNING: Removing unreachable block (ram,0x00108df4) */\n/* WARNING: Removing unreachable block (ram,0x00108e4c) */\n/* WARNING: Removing unreachable block (ram,0x00108df0) */\n/* WARNING: Removing unreachable block (ram,0x00108d64) */\n/* WARNING: Removing unreachable block (ram,0x00109540) */\n/* WARNING: Removing unreachable block (ram,0x001093b0) */\n/* WARNING: Removing unreachable block (ram,0x0010955c) */\n/* WARNING: Removing unreachable block (ram,0x00109058) */\n/* WARNING: Removing unreachable block (ram,0x00108e78) */\n/* WARNING: Removing unreachable block (ram,0x00108e90) */\n/* WARNING: Removing unreachable block (ram,0x00108e84) */\n/* WARNING: Removing unreachable block (ram,0x001081dc) */\n/* WARNING: Removing unreachable block (ram,0x001081e8) */\n/* WARNING: Removing unreachable block (ram,0x00108ea8) */\n/* WARNING: Removing unreachable block (ram,0x00108eb4) */\n/* WARNING: Removing unreachable block (ram,0x00108eb8) */\n/* WARNING: Removing unreachable block (ram,0x00108ec8) */\n/* WARNING: Removing unreachable block (ram,0x00108ed4) */\n/* WARNING: Removing unreachable block (ram,0x00108ee0) */\n/* WARNING: Removing unreachable block (ram,0x001082d4) */\n/* WARNING: Removing unreachable block (ram,0x00108b1c) */\n/* WARNING: Removing unreachable block (ram,0x001090d8) */\n/* WARNING: Removing unreachable block (ram,0x001082e0) */\n/* WARNING: Removing unreachable block (ram,0x001082e8) */\n/* WARNING: Removing unreachable block (ram,0x001082f0) */\n/* WARNING: Removing unreachable block (ram,0x001082f4) */\n/* WARNING: Removing unreachable block (ram,0x00108304) */\n/* WARNING: Removing unreachable block (ram,0x00108328) */\n/* WARNING: Removing unreachable block (ram,0x00108358) */\n/* WARNING: Removing unreachable block (ram,0x00108370) */\n/* WARNING: Removing unreachable block (ram,0x0010839c) */\n/* WARNING: Removing unreachable block (ram,0x001083b0) */\n/* WARNING: Removing unreachable block (ram,0x001083b8) */\n/* WARNING: Removing unreachable block (ram,0x00108acc) */\n/* WARNING: Removing unreachable block (ram,0x001083c0) */\n/* WARNING: Removing unreachable block (ram,0x00108378) */\n/* WARNING: Removing unreachable block (ram,0x00108ad4) */\n/* WARNING: Removing unreachable block (ram,0x00108adc) */\n/* WARNING: Removing unreachable block (ram,0x00108b10) */\n/* WARNING: Removing unreachable block (ram,0x001083d4) */\n/* WARNING: Removing unreachable block (ram,0x001083e0) */\n/* WARNING: Removing unreachable block (ram,0x001083f0) */\n/* WARNING: Removing unreachable block (ram,0x00108394) */\n/* WARNING: Removing unreachable block (ram,0x0010875c) */\n/* WARNING: Removing unreachable block (ram,0x0010926c) */\n/* WARNING: Removing unreachable block (ram,0x0010876c) */\n/* WARNING: Removing unreachable block (ram,0x00108bdc) */\n/* WARNING: Removing unreachable block (ram,0x00107fb4) */\n/* WARNING: Removing unreachable block (ram,0x00107fc8) */\n\nvoid fts3SqlExec(int *pRC,Fts3Table *p,int eStmt,sqlite3_value **apVal)\n\n{\n  char cVar1;\n  char cVar2;\n  undefined *puVar3;\n  byte *pbVar4;\n  int iVar5;\n  sqlite3_module *psVar6;\n  int iVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  uint uVar14;\n  int iVar15;\n  int *piVar16;\n  int *piVar17;\n  Fts3Index *pFVar18;\n  undefined4 uVar19;\n  sqlite3 *psVar20;\n  Vdbe *pVVar21;\n  char **ppcVar22;\n  _func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *p_Var23;\n  Vdbe **ppVVar24;\n  int *piVar25;\n  byte bVar26;\n  u8 *puVar27;\n  u32 *puVar28;\n  sqlite3 *psVar29;\n  sqlite3_module *psVar30;\n  sqlite3 *psVar31;\n  CollSeq *pCVar32;\n  sqlite3 *psVar33;\n  byte *pbVar34;\n  sqlite3 *psVar35;\n  sqlite3 *argv;\n  byte *pbVar36;\n  undefined1 *puVar37;\n  Fts3Table *p_00;\n  sqlite3 *psVar38;\n  u32 uVar39;\n  Db *pDVar40;\n  sqlite3 *psVar41;\n  sqlite3 *psVar42;\n  sqlite3 *psVar43;\n  sqlite3 *psVar44;\n  undefined4 *puVar45;\n  int iVar46;\n  Schema **unaff_s3;\n  char *pcVar47;\n  u32 uVar48;\n  sqlite3 *unaff_s5;\n  sqlite3 *psVar49;\n  sqlite3 *unaff_s6;\n  sqlite3 *unaff_s7;\n  undefined *puVar50;\n  code *pcVar51;\n  HashElem *pHVar52;\n  HashElem *pHVar53;\n  code *pcVar54;\n  sqlite3 *unaff_s8;\n  char *pcVar55;\n  code *pcVar56;\n  code *pcVar57;\n  undefined8 uVar58;\n  sqlite3_vtab **in_stack_fffffd68;\n  char **in_stack_fffffd6c;\n  int iStack_284;\n  int iStack_278;\n  Vdbe *pVStack_218;\n  sqlite3_vfs *psStack_214;\n  Vdbe *pVStack_210;\n  sqlite3_module *psStack_20c;\n  Vdbe *pVStack_208;\n  CollSeq *pCStack_204;\n  sqlite3 *apsStack_200 [13];\n  sqlite3 *psStack_1cc;\n  sqlite3 *psStack_1c8;\n  sqlite3 *psStack_1c4;\n  undefined4 *puStack_1c0;\n  sqlite3 *psStack_1bc;\n  sqlite3 *psStack_1b8;\n  sqlite3 *psStack_1b4;\n  sqlite3 *psStack_1b0;\n  sqlite3 *psStack_1ac;\n  sqlite3 *psStack_1a8;\n  code *pcStack_1a4;\n  sqlite3 *psStack_1a0;\n  code *pcStack_190;\n  undefined4 *puStack_18c;\n  sqlite3 *psStack_188;\n  sqlite3 *psStack_184;\n  HashElem *pHStack_17c;\n  sqlite3 *psStack_178;\n  sqlite3 *psStack_174;\n  sqlite3 *psStack_170;\n  sqlite3 *psStack_16c;\n  sqlite3 *psStack_168;\n  code *pcStack_164;\n  void **ppvStack_150;\n  void **ppvStack_148;\n  sqlite3 *psStack_140;\n  _func_int_void_ptr *p_Stack_13c;\n  _func_int_void_ptr *p_Stack_138;\n  _func_int_void_ptr *p_Stack_134;\n  sqlite3_vfs *psStack_12c;\n  undefined1 auStack_128 [4];\n  sqlite3_module *psStack_124;\n  PreUpdate *pPStack_11c;\n  sqlite3 *psStack_118;\n  sqlite3 *psStack_114;\n  sqlite3 *psStack_110;\n  sqlite3 *psStack_10c;\n  sqlite3 *psStack_108;\n  undefined4 uStack_104;\n  HashElem *pHStack_e0;\n  sqlite3 *psStack_c8;\n  Vdbe *pVStack_c4;\n  Fts3Table *pFStack_c0;\n  sqlite3 *psStack_bc;\n  Db *pDStack_b8;\n  sqlite3 *psStack_b4;\n  sqlite3 *psStack_b0;\n  HashElem *pHStack_ac;\n  HashElem *pHStack_98;\n  sqlite3 *psStack_90;\n  sqlite3 *psStack_8c;\n  sqlite3 *psStack_84;\n  Db *pDStack_80;\n  sqlite3 *psStack_7c;\n  undefined4 uStack_78;\n  Schema *pSStack_50;\n  Fts3Table *pFStack_4c;\n  _func_void_void_ptr_int_char_ptr_char_ptr_sqlite_int64 *p_Stack_44;\n  _func_int_void_ptr *p_Stack_40;\n  sqlite3_stmt *pStmt;\n  sqlite3 *psStack_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  psVar31 = (sqlite3 *)&pStmt;\n  psStack_14 = *(sqlite3 **)PTR___stack_chk_guard_0015ba2c;\n  iVar5 = fts3SqlStmt(p,eStmt,(sqlite3_stmt **)psVar31,apVal);\n  if (iVar5 == 0) {\n    (*(code *)PTR_sqlite3_step_0015b630)(pStmt);\n    iVar5 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    p = (Fts3Table *)pStmt;\n  }\n  *pRC = iVar5;\n  if (psStack_14 == *(sqlite3 **)puVar3) {\n    return;\n  }\n  puVar50 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  p_Stack_44 = (_func_void_void_ptr_int_char_ptr_char_ptr_sqlite_int64 *)puVar3;\n  pDVar40 = *(Db **)(puVar50 + 0x549c8);\n  pSStack_50 = (Schema *)0x0;\n  pFStack_4c = (Fts3Table *)pDVar40->zDbSName;\n  psVar43 = (sqlite3 *)eStmt;\n  p_Stack_40 = (_func_int_void_ptr *)pRC;\n  (*(code *)(*(int *)(puVar50 + 0x54674) + -0x38a4))();\n  if ((sqlite3 *)eStmt == (sqlite3 *)0x0) {\nLAB_00107118:\n    eStmt = *(int *)(puVar50 + 0x5466c);\n    if (pSStack_50 != (Schema *)0x0) goto LAB_001070c8;\n    unaff_s3 = &pSStack_50;\n    apVal = (sqlite3_value **)0x0;\n    psVar31 = (sqlite3 *)0x3;\n    eStmt = (int)&((sqlite3 *)(eStmt + 0x6e00))->aDbStatic[1].pBt;\n    psVar43 = (sqlite3 *)p;\n    fts3SqlExec((int *)unaff_s3,p,3,(sqlite3_value **)0x0);\n    if (pSStack_50 == (Schema *)0x0) {\n      apVal = (sqlite3_value **)0x0;\n      psVar31 = (sqlite3 *)&DAT_00000004;\n      psVar43 = (sqlite3 *)p;\n      fts3SqlExec((int *)unaff_s3,p,4,(sqlite3_value **)0x0);\n      if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) != '\0') {\n        apVal = (sqlite3_value **)0x0;\n        if (pSStack_50 != (Schema *)0x0) goto LAB_001070d4;\n        psVar31 = (sqlite3 *)&DAT_00000005;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)unaff_s3,p,5,(sqlite3_value **)0x0);\n      }\n      goto LAB_0010719c;\n    }\n  }\n  else {\n    if (pSStack_50 == (Schema *)0x0) {\n      apVal = (sqlite3_value **)0x0;\n      psVar31 = (sqlite3 *)0x2;\n      psVar43 = (sqlite3 *)p;\n      fts3SqlExec((int *)&pSStack_50,p,2,(sqlite3_value **)0x0);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) == '\0') {\nLAB_0010719c:\n      if ((*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1) != '\0') &&\n         (pSStack_50 == (Schema *)0x0)) {\n        apVal = (sqlite3_value **)0x0;\n        psVar31 = (sqlite3 *)&DAT_00000006;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)&pSStack_50,p,6,(sqlite3_value **)0x0);\n      }\n    }\n  }\nLAB_001070d4:\n  if (pFStack_4c == (Fts3Table *)pDVar40->zDbSName) {\n    return;\n  }\n  pcVar51 = *(code **)(puVar50 + 0x549ac);\n  p_00 = pFStack_4c;\n  (*pcVar51)();\n  pHStack_98 = (HashElem *)(pcVar51 + 0x5c3d0);\n  psVar41 = *(sqlite3 **)(pcVar51 + 0x5484c);\n  psStack_8c = (sqlite3 *)((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n  psStack_84 = (sqlite3 *)p;\n  pDStack_80 = pDVar40;\n  psStack_7c = (sqlite3 *)eStmt;\n  uStack_78 = (int)unaff_s3;\n  if (p_00->zContentTbl == (char *)0x0) {\n    apVal = (sqlite3_value **)&psVar43->pVdbe;\n    psVar49 = (sqlite3 *)&psStack_90;\n    psVar20 = (sqlite3 *)0x12;\n    pDVar40 = (Db *)fts3SqlStmt(p_00,0x12,(sqlite3_stmt **)psVar49,apVal);\n    psVar38 = psStack_90;\n    if (pDVar40 == (Db *)0x0) {\n      iVar5 = p_00->nColumn;\n      if (p_00->zLanguageid != (char *)0x0) {\n        psVar49 = (sqlite3 *)(*(code *)pHStack_98[-0x7e8].prev)(psVar43->aLimit[iVar5 + -0x17]);\n        psVar20 = (sqlite3 *)(iVar5 + 2);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7d1].prev)(psVar38);\n        unaff_s5 = psVar38;\n        if (pDVar40 != (Db *)0x0) goto LAB_00107278;\n        iVar5 = p_00->nColumn;\n      }\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->aLimit[iVar5 + -0x18]);\n      if (iVar5 == 5) {\nLAB_001073c8:\n        (*(code *)pHStack_98[-0x7f8].next)(psStack_90);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7f7].data)(psStack_90);\n        uVar58 = (*(code *)pHStack_98[-0x7ec].next)(p_00->db);\n        psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);\n        psVar31->pVdbe = (Vdbe *)(int)uVar58;\n      }\n      else {\n        unaff_s5 = (sqlite3 *)\n                   (*(code *)pHStack_98[-0x7fc].data)(((sqlite3_vtab *)&psVar43->pVfs)->pModule);\n        if ((unaff_s5 == (sqlite3 *)&DAT_00000005) &&\n           (iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe), iVar5 != 5)) {\n          pDVar40 = (Db *)0x1;\n        }\n        else {\n          psVar20 = (sqlite3 *)0x1;\n          psVar43 = (sqlite3 *)(psVar43->aLimit + p_00->nColumn + -0x18);\n          psVar49 = (sqlite3 *)((sqlite3_vtab *)&psVar43->pVfs)->pModule;\n          pDVar40 = (Db *)(*(code *)pHStack_98[-0x7db].pKey)(psStack_90);\n          if (pDVar40 == (Db *)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }\n  else {\n    p_00 = (Fts3Table *)psVar43->aLimit[p_00->nColumn + -0x18];\n    psVar20 = psVar43;\n    psVar49 = psVar31;\n    iVar5 = (**(code **)(pcVar51 + 0x54418))(p_00);\n    if (iVar5 == 5) {\n      p_00 = (Fts3Table *)psVar43->pVdbe;\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);\n    }\n    else {\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);\n    }\n    if (iVar5 == 1) {\n      pDVar40 = (Db *)0x0;\n      uVar58 = (*(code *)pHStack_98[-0x7fb].data)(p_00);\n      psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);\n      psVar31->pVdbe = (Vdbe *)(int)uVar58;\n    }\n    else {\n      pDVar40 = (Db *)&DAT_00000013;\n    }\n  }\nLAB_00107278:\n  if (psStack_8c == (sqlite3 *)((sqlite3_vtab *)&psVar41->pVfs)->pModule) {\n    return;\n  }\n  pHVar52 = pHStack_98[-0x7ba].next;\n  pcVar51 = fts3InsertDocsize;\n  psVar33 = psStack_8c;\n  (*(code *)pHVar52)();\n  psVar44 = (sqlite3 *)pHVar52[0x545f].pKey;\n  psVar38 = (sqlite3 *)((sqlite3_vtab *)&psVar33->pVfs)->pModule;\n  pVStack_c4 = (Vdbe *)((sqlite3_vtab *)&psVar44->pVfs)->pModule;\n  psVar42 = psVar33;\n  psVar29 = psVar20;\n  pFStack_c0 = p_00;\n  psStack_bc = psVar41;\n  pDStack_b8 = pDVar40;\n  psStack_b4 = psVar43;\n  psStack_b0 = psVar31;\n  pHStack_ac = (HashElem *)pcVar51;\n  if (psVar38 == (sqlite3 *)0x0) {\n    uVar14 = psVar20->mDbFlags;\n    apVal = (sqlite3_value **)(uVar14 >> 0x1e);\n    psVar29 = (sqlite3 *)(uVar14 * 10);\n    psVar42 = (sqlite3 *)\n              (uVar14 * 5 >> 0x1f |\n              ((uint)(uVar14 * 5 < uVar14 * 4) +\n              ((uint)apVal | ((int)uVar14 >> 0x1f) << 2) + ((int)uVar14 >> 0x1f)) * 2);\n    psVar41 = (sqlite3 *)(*(code *)pHVar52[0x5433].next)();\n    psVar31 = psVar33;\n    if (psVar41 == (sqlite3 *)0x0) {\n      ((sqlite3_vtab *)&psVar33->pVfs)->pModule = (sqlite3_module *)0x7;\n    }\n    else {\n      uVar39 = psVar20->mDbFlags;\n      if (0 < (int)uVar39) {\n        piVar8 = psVar49->aLimit;\n        psVar38 = (sqlite3 *)0x0;\n        do {\n          pbVar36 = (byte *)((int)psVar41->aLimit + (int)&psVar38[-1].busyHandler);\n          psVar6 = ((sqlite3_vtab *)&psVar49->pVfs)->pModule;\n          pbVar4 = pbVar36;\n          do {\n            pbVar34 = pbVar4;\n            psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n            bVar26 = (byte)psVar6;\n            *pbVar34 = bVar26 | 0x80;\n            psVar6 = psVar30;\n            pbVar4 = pbVar34 + 1;\n          } while (psVar30 != (sqlite3_module *)0x0);\n          psVar49 = (sqlite3 *)&psVar49->pVdbe;\n          *pbVar34 = bVar26 & 0x7f;\n          psVar38 = (sqlite3 *)((int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36));\n        } while ((sqlite3 *)(piVar8 + (uVar39 - 0x1b)) != psVar49);\n      }\n      apVal = (sqlite3_value **)0x0;\n      psVar49 = (sqlite3 *)&psStack_c8;\n      psVar29 = (sqlite3 *)0x14;\n      psVar6 = (sqlite3_module *)\n               fts3SqlStmt((Fts3Table *)psVar20,0x14,(sqlite3_stmt **)psVar49,(sqlite3_value **)0x0)\n      ;\n      if (psVar6 == (sqlite3_module *)0x0) {\n        (*(code *)pHVar52[0x543c].data)\n                  (psStack_c8,1,(psVar20->u1).isInterrupted,*(undefined4 *)((int)&psVar20->u1 + 4));\n        psVar29 = (sqlite3 *)0x2;\n        pHStack_e0 = pHVar52[0x541f].next;\n        psVar49 = psVar41;\n        apVal = (sqlite3_value **)psVar38;\n        (*(code *)pHVar52[0x543c].pKey)(psStack_c8);\n        (*(code *)pHVar52[0x5420].next)(psStack_c8);\n        psVar6 = (sqlite3_module *)(*(code *)pHVar52[0x5421].data)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n        psVar42 = psStack_c8;\n      }\n      else {\n        psVar42 = psVar41;\n        (*(code *)pHVar52[0x541f].next)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n      }\n    }\n  }\n  if (pVStack_c4 == (Vdbe *)((sqlite3_vtab *)&psVar44->pVfs)->pModule) {\n    return;\n  }\n  pHVar53 = pHVar52[0x545e].next;\n  (*(code *)pHVar53)();\n  ppvStack_148 = &pHVar53[0x5bf8].data;\n  pHVar52 = pHVar53[0x5440].prev;\n  pPStack_11c = (PreUpdate *)(((pthread_mutex_t *)&pHVar52->next)->__data).__lock;\n  psVar43 = psVar42;\n  psVar33 = psVar49;\n  psVar35 = (sqlite3 *)apVal;\n  psStack_118 = psVar38;\n  psStack_114 = psVar41;\n  psStack_110 = psVar44;\n  psStack_10c = psVar20;\n  psStack_108 = psVar31;\n  uStack_104 = (int)unaff_s5;\n  if (((sqlite3_vtab *)&psVar42->pVfs)->pModule == (sqlite3_module *)0x0) {\n    uVar39 = psVar29->mDbFlags;\n    psVar31 = (sqlite3 *)(uVar39 + 2);\n    psVar33 = (sqlite3 *)((uint)psVar31 >> 0x1d);\n    psVar43 = (sqlite3 *)\n              ((uint)((int)psVar31 * 7) >> 0x1f |\n              ((((uint)psVar33 | ((int)psVar31 >> 0x1f) << 3) - ((int)psVar31 >> 0x1f)) -\n              (uint)((uint)((int)psVar31 * 8) < (uint)((int)psVar31 * 7))) * 2);\n    psVar44 = (sqlite3 *)(*(code *)pHVar53[0x5413].data)(psVar43,(int)psVar31 * 0xe);\n    psVar20 = psVar29;\n    unaff_s5 = psVar49;\n    unaff_s6 = (sqlite3 *)apVal;\n    if (psVar44 == (sqlite3 *)0x0) {\n      ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)0x7;\n    }\n    else {\n      psVar33 = (sqlite3 *)&psStack_12c;\n      psVar35 = (sqlite3 *)0x0;\n      p_Stack_13c = (_func_int_void_ptr *)((int)ppvStack_148[-0x1f4c] + 0x7f20);\n      psStack_140 = psVar33;\n      unaff_s8 = (sqlite3 *)\n                 fts3SqlStmt((Fts3Table *)psVar29,0x16,(sqlite3_stmt **)psVar33,\n                             (sqlite3_value **)0x0);\n      psVar43 = psVar44;\n      if (unaff_s8 == (sqlite3 *)0x0) {\n        psVar33 = (sqlite3 *)0x0;\n        unaff_s7 = (sqlite3 *)(uVar39 * 4 + 8);\n        (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1);\n        iVar5 = (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n        if (iVar5 == 100) {\n          p_Stack_138 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd2])(psStack_12c,0);\n          p_Stack_134 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd3])(psStack_12c,0);\n          if ((p_Stack_134 == (_func_int_void_ptr *)0x0) ||\n             ((char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0')) {\n            psVar41 = (sqlite3 *)0x0;\n            if (0 < (int)psVar31) goto LAB_001079ec;\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n          }\n          else {\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n            if (0 < (int)psVar31) {\n              psVar41 = (sqlite3 *)0x0;\n              if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }\nLAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);\n              do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);\n              pcVar51 = (code *)ppvStack_148[-0x1fda];\n            }\n          }\n        }\n        else {\n          psVar33 = unaff_s7;\n          (*(code *)ppvStack_148[-0x1eff])(psVar44,0);\nLAB_00107790:\n          pcVar51 = (code *)ppvStack_148[-0x1fda];\n        }\n        unaff_s8 = (sqlite3 *)(*pcVar51)(psStack_12c);\n        if (unaff_s8 == (sqlite3 *)0x0) {\n          psVar6 = ((sqlite3_vtab *)&psVar44->pVfs)->pModule;\n          if (((int)pHStack_e0 < 0) && (psVar6 < (sqlite3_module *)-(int)pHStack_e0)) {\n            psVar6 = (sqlite3_module *)0x0;\n          }\n          else {\n            psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6);\n          }\n          ((sqlite3_vtab *)&psVar44->pVfs)->pModule = psVar6;\n          ppVVar24 = &psVar44->pVdbe;\n          if (-1 < (int)psVar29->mDbFlags) {\n            iVar5 = 0;\n            do {\n              while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30) {\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }\n              iVar5 = iVar5 + 1;\n              *ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);\n              psVar49 = (sqlite3 *)&psVar49->pVdbe;\n              ppVVar24 = ppVVar24 + 1;\n              apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n            } while (iVar5 <= (int)psVar29->mDbFlags);\n          }\nLAB_00107834:\n          unaff_s7 = (sqlite3 *)((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler);\n          psVar41 = (sqlite3 *)0x0;\n          psVar38 = psVar44;\n          if (0 < (int)psVar31) {\n            do {\n              pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);\n              psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;\n              pbVar4 = pbVar36;\n              do {\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              } while (psVar30 != (sqlite3_module *)0x0);\n              psVar38 = (sqlite3 *)&psVar38->pVdbe;\n              *pbVar34 = bVar26 & 0x7f;\n              psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));\n              unaff_s8 = psVar41;\n            } while (unaff_s7 != psVar38);\n          }\n          psVar35 = (sqlite3 *)0x0;\n          psVar33 = psStack_140;\n          psVar41 = (sqlite3 *)(*p_Stack_13c)(psVar29);\n          unaff_s5 = psVar49;\n          unaff_s6 = (sqlite3 *)apVal;\n          if (psVar41 == (sqlite3 *)0x0) {\n            (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1,0);\n            ppvStack_150 = (void **)0x0;\n            psVar33 = unaff_s7;\n            psVar35 = unaff_s8;\n            (*(code *)ppvStack_148[-0x1f6d])(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n            psVar6 = (sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c);\n            pcVar51 = (code *)ppvStack_148[-0x1f6b];\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = psVar6;\n            (*pcVar51)(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe4])();\n          }\n          else {\n            psStack_140 = psVar41;\n            (*(code *)ppvStack_148[-0x1fe4])();\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (*(code *)ppvStack_148[-0x1fe4])();\n      ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)unaff_s8;\n    }\n  }\nLAB_0010767c:\n  if (pPStack_11c == (PreUpdate *)(((pthread_mutex_t *)&pHVar52->next)->__data).__lock) {\n    return;\n  }\n  pcVar51 = (code *)ppvStack_148[-0x1ee8];\n  pcVar56 = fts3NextMethod;\n  (*pcVar51)();\n  pcStack_190 = pcVar51 + 0x5bb2c;\n  puVar45 = *(undefined4 **)(pcVar51 + 0x53fa8);\n  psStack_184 = (sqlite3 *)*puVar45;\n  pHStack_17c = pHVar52;\n  psStack_178 = psVar42;\n  psStack_174 = psVar44;\n  psStack_170 = psVar20;\n  psStack_16c = psVar31;\n  psStack_168 = unaff_s5;\n  pcStack_164 = pcVar56;\n  if (*(ushort *)&psVar43->pVdbe < 2) {\n    iVar5 = (**(code **)(pcVar51 + 0x53bac))((sqlite3 *)psVar43->mutex);\n    if (iVar5 == 100) {\n      uVar58 = (**(code **)(pcStack_190 + -0x7f60))((sqlite3 *)psVar43->mutex,0);\n      psVar41 = (sqlite3 *)0x0;\n      psVar43->flags = uVar58;\n    }\n    else {\n      pcVar51 = *(code **)(pcStack_190 + -0x7f68);\n      psVar41 = (sqlite3 *)psVar43->mutex;\n      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n      psVar41 = (sqlite3 *)(*pcVar51)(psVar41);\n    }\n  }\n  else {\n    psVar42 = (sqlite3 *)psVar43->aDb;\n    psStack_188 = (sqlite3 *)0x0;\n    if (psVar42 == (sqlite3 *)0x0) {\n      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n    }\n    else {\n      iVar5 = *(int *)(pcVar51 + 0x53c4c);\n      psVar49 = (sqlite3 *)(*(int *)(pcVar51 + 0x53c74) + 0x6888);\n      do {\n        if (*(char *)((int)&psVar43->pVdbe + 3) == '\0') {\n          (**(code **)(pcStack_190 + -0x7f68))((sqlite3 *)psVar43->mutex);\n        }\n        if (psStack_188 == (sqlite3 *)0x0) {\n          psVar33 = (sqlite3 *)&psStack_188;\n          (*(code *)psVar49)(psVar43,psVar42);\n        }\n        cVar2 = *(char *)&psVar42->flags;\n        *(undefined1 *)((int)&psVar43->pVdbe + 3) = 1;\n        *(char *)((int)&psVar43->pVdbe + 2) = cVar2;\n        psVar43->mTrace = '\0';\n        psVar43->noSharedCache = '\0';\n        psVar43->nSqlExec = '\0';\n        psVar43->field_0x5b = 1;\n        puVar27 = (u8 *)psVar42->mDbFlags;\n        *(sqlite3_tokenizer **)((int)&psVar43->flags + 4) =\n             *(sqlite3_tokenizer **)&psVar42->field_0x1c;\n        *(u8 **)&psVar43->flags = puVar27;\n      } while ((cVar2 == '\0') &&\n              (iVar7 = sqlite3Fts3EvalTestDeferred((Fts3Cursor *)psVar43,(int *)&psStack_188),\n              iVar7 != 0));\n      psVar41 = psStack_188;\n      psVar20 = (sqlite3 *)&psStack_188;\n      psVar31 = (sqlite3 *)(iVar5 + 0x5348);\n      unaff_s5 = psVar49;\n      if (psStack_188 != (sqlite3 *)0x0) goto LAB_00107b8c;\n    }\n    puVar27 = *(u8 **)&psVar43->flags;\n    if (*(char *)((int)&psVar43->szMmap + 4) == '\0') {\n      if ((int)puVar27 <= (int)*(u8 **)&psVar43->temp_store) {\n        if (*(u8 **)&psVar43->temp_store != puVar27) goto LAB_00107c24;\n        if (*(sqlite3_tokenizer **)((int)&psVar43->flags + 4) <=\n            *(sqlite3_tokenizer **)&psVar43->nextAutovac) {\n          psVar41 = (sqlite3 *)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if ((psVar43->iSysErrno <= (int)puVar27) &&\n            (((u8 *)psVar43->iSysErrno != puVar27 ||\n             (*(sqlite3_tokenizer **)&psVar43->dbOptFlags <=\n              *(sqlite3_tokenizer **)((int)&psVar43->flags + 4))))) {\nLAB_00107c24:\n      psVar41 = (sqlite3 *)0x0;\n      goto LAB_00107b8c;\n    }\n    psVar41 = (sqlite3 *)0x0;\n    *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n  }\nLAB_00107b8c:\n  if (psStack_184 == (sqlite3 *)*puVar45) {\n    return;\n  }\n  pcVar56 = *(code **)(pcStack_190 + -0x7ba0);\n  pcVar57 = fts3InitVtab;\n  psVar38 = psStack_184;\n  (*pcVar56)();\n  psVar49 = psStack_188;\n  pcVar51 = pcStack_190;\n  piVar25 = *(int **)(pcVar56 + 0x53d80);\n  psVar44 = (sqlite3 *)((int)((int)&psVar35[-1].pNextBlocked + 2) * 4);\n  pVStack_218 = (Vdbe *)0x0;\n  psStack_1cc = (sqlite3 *)*piVar25;\n  cVar2 = *(char *)(*(int *)pcStack_190 + 3);\n  psStack_214 = (sqlite3_vfs *)0x0;\n  psVar29 = psVar33;\n  argv = psVar35;\n  psStack_1c8 = psVar43;\n  psStack_1c4 = psVar42;\n  puStack_1c0 = puVar45;\n  psStack_1bc = psVar20;\n  psStack_1b8 = psVar31;\n  psStack_1b4 = unaff_s5;\n  psStack_1b0 = unaff_s6;\n  psStack_1ac = unaff_s7;\n  psStack_1a8 = unaff_s8;\n  pcStack_1a4 = pcVar57;\n  psStack_1a0 = psVar41;\n  iVar5 = (**(code **)(pcVar56 + 0x53d18))(*(int *)(pcStack_190 + 4));\n  iVar7 = (**(code **)(pcVar56 + 0x53d18))(*(int *)(pcVar51 + 8));\n  psVar31 = psVar44;\n  piVar8 = (int *)(**(code **)(pcVar56 + 0x53ab4))(0);\n  if (piVar8 != (int *)0x0) {\n    psVar29 = psVar44;\n    (**(code **)(pcVar56 + 0x53d08))(piVar8,0);\n    psVar31 = psVar44;\n    iStack_284 = (**(code **)(pcVar56 + 0x53ab4))(0);\n    if (iStack_284 != 0) {\n      psVar31 = (sqlite3 *)0x0;\n      (**(code **)(pcVar56 + 0x53d08))(iStack_284);\n      if (pVStack_218 != (Vdbe *)0x0) {\n        psVar43 = (sqlite3 *)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar9 = *(int *)(pcVar56 + 0x5393c);\n      if ((int)psVar35 < 4) {\n        uVar39 = 0;\n        iVar46 = 0;\n        bVar26 = 0;\n      }\n      else {\n        pcVar57 = pcVar51 + 0xc;\n        uVar39 = 0;\n        iVar46 = 0;\n        iVar10 = *(int *)(pcVar56 + 0x5392c);\n        psVar43 = (sqlite3 *)0x3;\n        bVar26 = 0;\n        iVar11 = *(int *)(pcVar56 + 0x539b0);\n        iVar12 = *(int *)(pcVar56 + 0x53a70);\n        iVar13 = *(int *)(pcVar56 + 0x53950);\n        do {\n          psVar41 = *(sqlite3 **)pcVar57;\n          if ((psStack_214 == (sqlite3_vfs *)0x0) &&\n             (uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14)) {\n            psVar44 = (sqlite3 *)&DAT_00000008;\n            psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344);\n            iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar41);\n            if (iVar15 != 0) goto LAB_00107e50;\n            if ((*(char *)&psVar41->pDfltColl < 0) ||\n               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0')) goto LAB_00107e50;\n            psVar44 = (sqlite3 *)&psStack_214;\n            psVar31 = (sqlite3 *)((int)&psVar41->pDfltColl + 1);\n            argv = psVar49;\n            pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n          }\n          else {\nLAB_00107e50:\n            if (cVar2 == '4') {\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }\n            else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }\n            iVar15 = (*pcVar54)(psVar41);\n            iVar46 = iVar46 + 1 + iVar15;\n            piVar16 = piVar8 + uVar39;\n            uVar39 = uVar39 + 1;\n            *piVar16 = (int)psVar41;\n          }\nLAB_00107e88:\n          psVar43 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1);\n          if (pVStack_218 != (Vdbe *)0x0) {\n            psVar43 = (sqlite3 *)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar57 = pcVar57 + 4;\n        } while (psVar35 != psVar43);\n      }\n      if (uVar39 == 0) {\n        uVar39 = 1;\n        iVar46 = 8;\n        *piVar8 = *(int *)(pcVar56 + 0x5393c) + 0x6a48;\n      }\n      if (psStack_214 == (sqlite3_vfs *)0x0) {\n        psVar44 = (sqlite3 *)&psStack_214;\n        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3ef8);\n        pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n        argv = psVar49;\n        if (pVStack_218 != (Vdbe *)0x0) {\n          iStack_278 = 0;\n          psVar43 = (sqlite3 *)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      psVar31 = (sqlite3 *)0x18;\n      iStack_278 = (**(code **)(pcVar56 + 0x53ab4))(0);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        psVar43 = (sqlite3 *)0x0;\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar56 + 0x53d08))(iStack_278,0,0x18);\n      pVStack_218 = (Vdbe *)0x0;\n      iVar5 = iVar5 + 1;\n      psVar44 = (sqlite3 *)((uVar39 + 0x4e) * 4);\n      psVar41 = (sqlite3 *)((int)psVar44->aLimit + iVar7 + 1 + iVar5 + uVar39 + iVar46 + -0x6c);\n      psVar31 = psVar41;\n      psVar43 = (sqlite3 *)(**(code **)(pcVar56 + 0x53ab4))(0);\n      if (psVar43 == (sqlite3 *)0x0) {\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar56 + 0x53d08))(psVar43,0,psVar41);\n      puVar28 = &(psVar43->lookaside).nSlot;\n      psVar43->mDbFlags = uVar39;\n      psVar43->mutex = (sqlite3_mutex *)psVar38;\n      psVar43->pCollNeededArg = (void *)0x0;\n      *(u32 **)&psVar43->field_0x1c = puVar28;\n      *(sqlite3_vfs **)((int)&psVar43->flags + 4) = psStack_214;\n      psVar43->xCollNeeded16 = (_func_void_void_ptr_sqlite3_ptr_int_void_ptr *)&LAB_00100000;\n      if (cVar2 == '4') {\n        bVar26 = bVar26 ^ 1;\n      }\n      else {\n        bVar26 = 0;\n      }\n      *(byte *)((int)&psVar43->xUpdateCallback + 2) = bVar26;\n      pcVar57 = *(code **)(pcVar56 + 0x53d84);\n      pFVar18 = (Fts3Index *)(puVar28 + uVar39);\n      *(u8 *)((int)&psVar43->xUpdateCallback + 3) = '\0';\n      *(char **)&psVar43->lastRowid = (char *)0x0;\n      *(char **)((int)&psVar43->lastRowid + 4) = (char *)0x0;\n      psVar43->xCollNeeded = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr *)pFVar18;\n      *(int *)&psVar43->szMmap = 0xff;\n      *(bool *)((int)&psVar43->xUpdateCallback + 1) = cVar2 == '4';\n      *(bool *)&psVar43->xUpdateCallback = cVar2 == '4';\n      (*pcVar57)(pFVar18,iStack_278,0x18);\n      psVar43->pWalArg = (void *)0x1;\n      iVar46 = 0;\n      iVar9 = 0;\n      do {\n        pFVar18 = (Fts3Index *)psVar43->xCollNeeded;\n        iVar46 = iVar46 + 1;\n        *(undefined2 *)(&(pFVar18->hPending).keyClass + iVar9) = 0x101;\n        *(undefined4 *)((int)&(pFVar18->hPending).first + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).count + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).htsize + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).ht + iVar9) = 0;\n        iVar9 = iVar9 + 0x18;\n      } while (iVar46 != 1);\n      pcVar57 = *(code **)(pcVar56 + 0x53d84);\n      pcVar47 = (char *)((int)&((Fts3Index *)psVar43->xCollNeeded)[1].nPrefix + uVar39);\n      *(Fts3Index **)&psVar43->flags = (Fts3Index *)psVar43->xCollNeeded + 1;\n      psVar43->nDb = (int)pcVar47;\n      pDVar40 = (Db *)(pcVar47 + iVar7 + 1);\n      pcVar55 = (char *)((int)&pDVar40->zDbSName + iVar5);\n      (*pcVar57)(pcVar47,*(int *)(pcVar51 + 8));\n      psVar43->aDb = pDVar40;\n      (**(code **)(pcVar56 + 0x53d84))(pDVar40,*(int *)(pcVar51 + 4),iVar5);\n      if (0 < (int)uVar39) {\n        iVar7 = *(int *)(pcVar56 + 0x539b0);\n        iVar9 = 0;\n        iVar5 = *(int *)(pcVar56 + 0x539b0);\n        do {\n          pVStack_210 = (Vdbe *)0x0;\n          uVar19 = (*(code *)(iVar5 + 0x273c))(*(undefined4 *)((int)piVar8 + iVar9),&pVStack_210);\n          if (0 < (int)pVStack_210) {\n            (**(code **)(pcVar56 + 0x53d84))(pcVar55,uVar19);\n          }\n          pcVar55[(int)pVStack_210] = '\0';\n          (*(code *)(iVar7 + 0x1120))(pcVar55);\n          puVar45 = (undefined4 *)((int)*(char ***)&psVar43->field_0x1c + iVar9);\n          iVar9 = iVar9 + 4;\n          *puVar45 = pcVar55;\n          pcVar55 = pcVar55 + (int)((int)&pVStack_210->db + 1);\n        } while (uVar39 * 4 != iVar9);\n        uVar48 = 0;\n        do {\n          (**(code **)(pcVar56 + 0x53d18))((*(char ***)&psVar43->field_0x1c)[uVar48]);\n          uVar48 = uVar48 + 1;\n        } while (uVar48 != uVar39);\n      }\n      psVar41 = (sqlite3 *)&pVStack_210;\n      pVStack_210 = (Vdbe *)0x0;\n      if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n        iVar5 = *(int *)(pcVar56 + 0x5393c);\n        pVStack_210 = (Vdbe *)0x0;\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x3610);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar9 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            iVar46 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x3608,iVar5 + 0x53f4,iVar7,\n                       (*(char ***)&psVar43->field_0x1c)[iVar7]);\n            iVar7 = iVar46;\n          } while (iVar46 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar56 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar56 + 0x53974))(0);\n      }\n      else {\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x7714);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar5 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar7;\n            iVar7 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22);\n          } while (iVar7 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = *(sqlite3_vtab ***)&psVar43->lastRowid;\n      argv = (sqlite3 *)psVar43->aDb;\n      if (in_stack_fffffd68 == (sqlite3_vtab **)0x0) {\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x53950) + -14000);\n      }\n      else {\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x5393c) + 0x53f4);\n      }\n      (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35e4);\n      psVar43->pRollbackArg = pVStack_210;\n      iVar5 = *(int *)(pcVar56 + 0x5393c);\n      pVStack_210 = (Vdbe *)0x0;\n      psVar31 = psVar41;\n      (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x4774);\n      if (0 < (int)psVar43->mDbFlags) {\n        iVar9 = *(int *)(pcVar56 + 0x53950);\n        iVar7 = 0;\n        do {\n          psVar31 = psVar41;\n          argv = (sqlite3 *)(iVar5 + 0x53f4);\n          (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x35cc);\n          iVar7 = iVar7 + 1;\n        } while (iVar7 < (int)psVar43->mDbFlags);\n      }\n      psVar44 = *(sqlite3 **)(pcVar56 + 0x53950);\n      if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n        psVar44 = (sqlite3 *)&psVar44[-0x1b].openFlags;\n        psVar31 = psVar41;\n        (*pcVar51)(&pVStack_218);\n      }\n      (**(code **)(pcVar56 + 0x53974))(0);\n      psVar43->xRollbackCallback = (_func_void_void_ptr *)pVStack_210;\n      if (pVStack_218 != (Vdbe *)0x0) goto LAB_00107f4c;\n      if (psStack_1a0 == (sqlite3 *)0x0) {\n        if (cVar2 != '4') {\n          *(u8 *)((int)&psVar43->xUpdateCallback + 1) = '\x02';\n        }\n      }\n      else {\n        pVStack_210 = (Vdbe *)0x0;\n        psVar20 = (sqlite3 *)psVar43->mutex;\n        if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n          pcVar47 = *(char **)((int)&psVar43->lastRowid + 4);\n          ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                        (*(int *)(pcVar56 + 0x53950) + -0x35c0);\n          if (ppcVar22 == (char **)0x0) {\nLAB_00109454:\n            ppcVar22 = (char **)0x0;\n            pVStack_210 = (Vdbe *)&DAT_00000007;\n          }\n          else {\n            iVar5 = *(int *)(pcVar56 + 0x53950);\n            if (0 < (int)psVar43->mDbFlags) {\n              iVar7 = 0;\n              do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);\n            }\n            if ((pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0))\n            goto LAB_00109454;\n          }\n          in_stack_fffffd6c = ppcVar22;\n          fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x358c),\n                     psVar43->aDb,(char *)psVar43->nDb);\n          (**(code **)(pcVar56 + 0x53974))(ppcVar22);\n        }\n        fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x3568),\n                   psVar43->aDb,(char *)psVar43->nDb);\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        argv = (sqlite3 *)psVar43->aDb;\n        psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3520);\n        psVar31 = psVar20;\n        fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 2) != '\0') {\n          in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n          argv = (sqlite3 *)psVar43->aDb;\n          psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3484);\n          fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n          psVar31 = psVar20;\n        }\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 1) != '\0') {\n          psVar31 = psVar43;\n          sqlite3Fts3CreateStatTable((int *)psVar41,(Fts3Table *)psVar43);\n        }\n        pVStack_218 = pVStack_210;\n        if (pVStack_210 != (Vdbe *)0x0) {\n          psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n          goto LAB_00107f4c;\n        }\n      }\n      psVar31 = (sqlite3 *)psVar43->aDb;\n      psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x33d4);\n      if (psVar20 == (sqlite3 *)0x0) {\n        (**(code **)(pcVar56 + 0x53974))(0);\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        goto LAB_00107f4c;\n      }\n      psVar44 = (sqlite3 *)0xffffffff;\n      in_stack_fffffd68 = (sqlite3_vtab **)0x0;\n      psVar31 = psVar20;\n      pVVar21 = (Vdbe *)sqlite3_prepare((sqlite3 *)psVar43->mutex,(char *)psVar20,-1,\n                                        (sqlite3_stmt **)psVar41,(char **)0x0);\n      if (pVVar21 == (Vdbe *)0x0) {\n        (**(code **)(pcVar56 + 0x53984))(pVStack_210);\n        psVar31 = (sqlite3 *)0x0;\n        p_Var23 = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64\n                   *)(**(code **)(pcVar56 + 0x53998))(pVStack_210);\n        psVar43->xPreUpdateCallback = p_Var23;\n        pVVar21 = (Vdbe *)(**(code **)(pcVar56 + 0x53990))(pVStack_210);\n        argv = psVar41;\nLAB_001089a8:\n        (**(code **)(pcVar56 + 0x53974))(psVar20);\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        pVStack_218 = pVVar21;\n        if (pVVar21 != (Vdbe *)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar51 = *(code **)(pcVar56 + 0x53974);\n        argv = psVar41;\n        if (pVVar21 != (Vdbe *)&DAT_00000017) goto LAB_001089a8;\n        psVar43->xPreUpdateCallback =\n             (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *)\n             0x400;\n        (*pcVar51)(psVar20);\n        pVStack_218 = (Vdbe *)0x0;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n      }\n      argv = *(sqlite3 **)((int)&psVar43->lastRowid + 4);\n      if (argv == (sqlite3 *)0x0) {\n        argv = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar56 + 0x53c10))((sqlite3 *)psVar43->mutex,1,1);\n      psVar41 = (sqlite3 *)\n                (**(code **)(pcVar56 + 0x5397c))\n                          (*(int *)(pcVar56 + 0x53950) + -0x3440,**(char ***)&psVar43->field_0x1c);\n      if (psVar41 == (sqlite3 *)0x0) {\nLAB_00108a70:\n        psVar31 = (sqlite3 *)0x0;\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar41 = (sqlite3 *)0x0;\n        pVVar21 = (Vdbe *)&DAT_00000007;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n      }\n      else {\n        iVar5 = 1;\n        if (1 < (int)psVar43->mDbFlags) {\n          iVar7 = *(int *)(pcVar56 + 0x53950);\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar5;\n            iVar5 = iVar5 + 1;\n            psVar41 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)\n            ;\n            if (psVar41 == (sqlite3 *)0x0) goto LAB_00108a70;\n          } while (iVar5 < (int)psVar43->mDbFlags);\n        }\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar31 = psVar41;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n        if (psVar20 == (sqlite3 *)0x0) {\n          pVVar21 = (Vdbe *)&DAT_00000007;\n        }\n        else {\n          psVar31 = psVar20;\n          pVVar21 = (Vdbe *)sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20);\n        }\n      }\n      (**(code **)(pcVar56 + 0x53974))(psVar20);\n      (**(code **)(pcVar56 + 0x53974))(psVar41);\n      pVStack_218 = pVVar21;\n      goto LAB_00107f4c;\n    }\n  }\n  psVar44 = psVar29;\n  iStack_284 = 0;\n  iStack_278 = 0;\n  psVar43 = (sqlite3 *)0x0;\n  pVStack_218 = (Vdbe *)&DAT_00000007;\nLAB_00107f4c:\n  (**(code **)(pcVar56 + 0x53974))(0);\n  (**(code **)(pcVar56 + 0x53974))(iStack_278);\n  (**(code **)(pcVar56 + 0x53974))(0);\n  (**(code **)(pcVar56 + 0x53974))(0);\n  (**(code **)(pcVar56 + 0x53974))(0);\n  (**(code **)(pcVar56 + 0x53974))(0);\n  (**(code **)(pcVar56 + 0x53974))(piVar8);\n  (**(code **)(pcVar56 + 0x53974))(iStack_284);\n  if (pVStack_218 == (Vdbe *)0x0) {\n    *puStack_18c = psVar43;\n  }\n  else if (psVar43 == (sqlite3 *)0x0) {\n    if (psStack_214 != (sqlite3_vfs *)0x0) {\n      (*((sqlite3_tokenizer_module *)psStack_214->iVersion)->xDestroy)\n                ((sqlite3_tokenizer *)psStack_214);\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar56 + 0x53a4c) + 0x585c))(psVar43);\n  }\n  if (psStack_1cc == (sqlite3 *)*piVar25) {\n    return;\n  }\n  psVar43 = psStack_1cc;\n  (**(code **)(pcVar56 + 0x53d64))();\n  fts3InitVtab(0,psVar43,psVar31,(int)psVar44,(char **)argv,in_stack_fffffd68,in_stack_fffffd6c);\n  return;\n}\n\n" comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment (function_definition "void fts3SqlExec(int *pRC,Fts3Table *p,int eStmt,sqlite3_value **apVal)\n\n{\n  char cVar1;\n  char cVar2;\n  undefined *puVar3;\n  byte *pbVar4;\n  int iVar5;\n  sqlite3_module *psVar6;\n  int iVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  uint uVar14;\n  int iVar15;\n  int *piVar16;\n  int *piVar17;\n  Fts3Index *pFVar18;\n  undefined4 uVar19;\n  sqlite3 *psVar20;\n  Vdbe *pVVar21;\n  char **ppcVar22;\n  _func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *p_Var23;\n  Vdbe **ppVVar24;\n  int *piVar25;\n  byte bVar26;\n  u8 *puVar27;\n  u32 *puVar28;\n  sqlite3 *psVar29;\n  sqlite3_module *psVar30;\n  sqlite3 *psVar31;\n  CollSeq *pCVar32;\n  sqlite3 *psVar33;\n  byte *pbVar34;\n  sqlite3 *psVar35;\n  sqlite3 *argv;\n  byte *pbVar36;\n  undefined1 *puVar37;\n  Fts3Table *p_00;\n  sqlite3 *psVar38;\n  u32 uVar39;\n  Db *pDVar40;\n  sqlite3 *psVar41;\n  sqlite3 *psVar42;\n  sqlite3 *psVar43;\n  sqlite3 *psVar44;\n  undefined4 *puVar45;\n  int iVar46;\n  Schema **unaff_s3;\n  char *pcVar47;\n  u32 uVar48;\n  sqlite3 *unaff_s5;\n  sqlite3 *psVar49;\n  sqlite3 *unaff_s6;\n  sqlite3 *unaff_s7;\n  undefined *puVar50;\n  code *pcVar51;\n  HashElem *pHVar52;\n  HashElem *pHVar53;\n  code *pcVar54;\n  sqlite3 *unaff_s8;\n  char *pcVar55;\n  code *pcVar56;\n  code *pcVar57;\n  undefined8 uVar58;\n  sqlite3_vtab **in_stack_fffffd68;\n  char **in_stack_fffffd6c;\n  int iStack_284;\n  int iStack_278;\n  Vdbe *pVStack_218;\n  sqlite3_vfs *psStack_214;\n  Vdbe *pVStack_210;\n  sqlite3_module *psStack_20c;\n  Vdbe *pVStack_208;\n  CollSeq *pCStack_204;\n  sqlite3 *apsStack_200 [13];\n  sqlite3 *psStack_1cc;\n  sqlite3 *psStack_1c8;\n  sqlite3 *psStack_1c4;\n  undefined4 *puStack_1c0;\n  sqlite3 *psStack_1bc;\n  sqlite3 *psStack_1b8;\n  sqlite3 *psStack_1b4;\n  sqlite3 *psStack_1b0;\n  sqlite3 *psStack_1ac;\n  sqlite3 *psStack_1a8;\n  code *pcStack_1a4;\n  sqlite3 *psStack_1a0;\n  code *pcStack_190;\n  undefined4 *puStack_18c;\n  sqlite3 *psStack_188;\n  sqlite3 *psStack_184;\n  HashElem *pHStack_17c;\n  sqlite3 *psStack_178;\n  sqlite3 *psStack_174;\n  sqlite3 *psStack_170;\n  sqlite3 *psStack_16c;\n  sqlite3 *psStack_168;\n  code *pcStack_164;\n  void **ppvStack_150;\n  void **ppvStack_148;\n  sqlite3 *psStack_140;\n  _func_int_void_ptr *p_Stack_13c;\n  _func_int_void_ptr *p_Stack_138;\n  _func_int_void_ptr *p_Stack_134;\n  sqlite3_vfs *psStack_12c;\n  undefined1 auStack_128 [4];\n  sqlite3_module *psStack_124;\n  PreUpdate *pPStack_11c;\n  sqlite3 *psStack_118;\n  sqlite3 *psStack_114;\n  sqlite3 *psStack_110;\n  sqlite3 *psStack_10c;\n  sqlite3 *psStack_108;\n  undefined4 uStack_104;\n  HashElem *pHStack_e0;\n  sqlite3 *psStack_c8;\n  Vdbe *pVStack_c4;\n  Fts3Table *pFStack_c0;\n  sqlite3 *psStack_bc;\n  Db *pDStack_b8;\n  sqlite3 *psStack_b4;\n  sqlite3 *psStack_b0;\n  HashElem *pHStack_ac;\n  HashElem *pHStack_98;\n  sqlite3 *psStack_90;\n  sqlite3 *psStack_8c;\n  sqlite3 *psStack_84;\n  Db *pDStack_80;\n  sqlite3 *psStack_7c;\n  undefined4 uStack_78;\n  Schema *pSStack_50;\n  Fts3Table *pFStack_4c;\n  _func_void_void_ptr_int_char_ptr_char_ptr_sqlite_int64 *p_Stack_44;\n  _func_int_void_ptr *p_Stack_40;\n  sqlite3_stmt *pStmt;\n  sqlite3 *psStack_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  psVar31 = (sqlite3 *)&pStmt;\n  psStack_14 = *(sqlite3 **)PTR___stack_chk_guard_0015ba2c;\n  iVar5 = fts3SqlStmt(p,eStmt,(sqlite3_stmt **)psVar31,apVal);\n  if (iVar5 == 0) {\n    (*(code *)PTR_sqlite3_step_0015b630)(pStmt);\n    iVar5 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    p = (Fts3Table *)pStmt;\n  }\n  *pRC = iVar5;\n  if (psStack_14 == *(sqlite3 **)puVar3) {\n    return;\n  }\n  puVar50 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  p_Stack_44 = (_func_void_void_ptr_int_char_ptr_char_ptr_sqlite_int64 *)puVar3;\n  pDVar40 = *(Db **)(puVar50 + 0x549c8);\n  pSStack_50 = (Schema *)0x0;\n  pFStack_4c = (Fts3Table *)pDVar40->zDbSName;\n  psVar43 = (sqlite3 *)eStmt;\n  p_Stack_40 = (_func_int_void_ptr *)pRC;\n  (*(code *)(*(int *)(puVar50 + 0x54674) + -0x38a4))();\n  if ((sqlite3 *)eStmt == (sqlite3 *)0x0) {\nLAB_00107118:\n    eStmt = *(int *)(puVar50 + 0x5466c);\n    if (pSStack_50 != (Schema *)0x0) goto LAB_001070c8;\n    unaff_s3 = &pSStack_50;\n    apVal = (sqlite3_value **)0x0;\n    psVar31 = (sqlite3 *)0x3;\n    eStmt = (int)&((sqlite3 *)(eStmt + 0x6e00))->aDbStatic[1].pBt;\n    psVar43 = (sqlite3 *)p;\n    fts3SqlExec((int *)unaff_s3,p,3,(sqlite3_value **)0x0);\n    if (pSStack_50 == (Schema *)0x0) {\n      apVal = (sqlite3_value **)0x0;\n      psVar31 = (sqlite3 *)&DAT_00000004;\n      psVar43 = (sqlite3 *)p;\n      fts3SqlExec((int *)unaff_s3,p,4,(sqlite3_value **)0x0);\n      if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) != '\0') {\n        apVal = (sqlite3_value **)0x0;\n        if (pSStack_50 != (Schema *)0x0) goto LAB_001070d4;\n        psVar31 = (sqlite3 *)&DAT_00000005;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)unaff_s3,p,5,(sqlite3_value **)0x0);\n      }\n      goto LAB_0010719c;\n    }\n  }\n  else {\n    if (pSStack_50 == (Schema *)0x0) {\n      apVal = (sqlite3_value **)0x0;\n      psVar31 = (sqlite3 *)0x2;\n      psVar43 = (sqlite3 *)p;\n      fts3SqlExec((int *)&pSStack_50,p,2,(sqlite3_value **)0x0);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) == '\0') {\nLAB_0010719c:\n      if ((*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1) != '\0') &&\n         (pSStack_50 == (Schema *)0x0)) {\n        apVal = (sqlite3_value **)0x0;\n        psVar31 = (sqlite3 *)&DAT_00000006;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)&pSStack_50,p,6,(sqlite3_value **)0x0);\n      }\n    }\n  }\nLAB_001070d4:\n  if (pFStack_4c == (Fts3Table *)pDVar40->zDbSName) {\n    return;\n  }\n  pcVar51 = *(code **)(puVar50 + 0x549ac);\n  p_00 = pFStack_4c;\n  (*pcVar51)();\n  pHStack_98 = (HashElem *)(pcVar51 + 0x5c3d0);\n  psVar41 = *(sqlite3 **)(pcVar51 + 0x5484c);\n  psStack_8c = (sqlite3 *)((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n  psStack_84 = (sqlite3 *)p;\n  pDStack_80 = pDVar40;\n  psStack_7c = (sqlite3 *)eStmt;\n  uStack_78 = (int)unaff_s3;\n  if (p_00->zContentTbl == (char *)0x0) {\n    apVal = (sqlite3_value **)&psVar43->pVdbe;\n    psVar49 = (sqlite3 *)&psStack_90;\n    psVar20 = (sqlite3 *)0x12;\n    pDVar40 = (Db *)fts3SqlStmt(p_00,0x12,(sqlite3_stmt **)psVar49,apVal);\n    psVar38 = psStack_90;\n    if (pDVar40 == (Db *)0x0) {\n      iVar5 = p_00->nColumn;\n      if (p_00->zLanguageid != (char *)0x0) {\n        psVar49 = (sqlite3 *)(*(code *)pHStack_98[-0x7e8].prev)(psVar43->aLimit[iVar5 + -0x17]);\n        psVar20 = (sqlite3 *)(iVar5 + 2);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7d1].prev)(psVar38);\n        unaff_s5 = psVar38;\n        if (pDVar40 != (Db *)0x0) goto LAB_00107278;\n        iVar5 = p_00->nColumn;\n      }\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->aLimit[iVar5 + -0x18]);\n      if (iVar5 == 5) {\nLAB_001073c8:\n        (*(code *)pHStack_98[-0x7f8].next)(psStack_90);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7f7].data)(psStack_90);\n        uVar58 = (*(code *)pHStack_98[-0x7ec].next)(p_00->db);\n        psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);\n        psVar31->pVdbe = (Vdbe *)(int)uVar58;\n      }\n      else {\n        unaff_s5 = (sqlite3 *)\n                   (*(code *)pHStack_98[-0x7fc].data)(((sqlite3_vtab *)&psVar43->pVfs)->pModule);\n        if ((unaff_s5 == (sqlite3 *)&DAT_00000005) &&\n           (iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe), iVar5 != 5)) {\n          pDVar40 = (Db *)0x1;\n        }\n        else {\n          psVar20 = (sqlite3 *)0x1;\n          psVar43 = (sqlite3 *)(psVar43->aLimit + p_00->nColumn + -0x18);\n          psVar49 = (sqlite3 *)((sqlite3_vtab *)&psVar43->pVfs)->pModule;\n          pDVar40 = (Db *)(*(code *)pHStack_98[-0x7db].pKey)(psStack_90);\n          if (pDVar40 == (Db *)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }\n  else {\n    p_00 = (Fts3Table *)psVar43->aLimit[p_00->nColumn + -0x18];\n    psVar20 = psVar43;\n    psVar49 = psVar31;\n    iVar5 = (**(code **)(pcVar51 + 0x54418))(p_00);\n    if (iVar5 == 5) {\n      p_00 = (Fts3Table *)psVar43->pVdbe;\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);\n    }\n    else {\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);\n    }\n    if (iVar5 == 1) {\n      pDVar40 = (Db *)0x0;\n      uVar58 = (*(code *)pHStack_98[-0x7fb].data)(p_00);\n      psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);\n      psVar31->pVdbe = (Vdbe *)(int)uVar58;\n    }\n    else {\n      pDVar40 = (Db *)&DAT_00000013;\n    }\n  }\nLAB_00107278:\n  if (psStack_8c == (sqlite3 *)((sqlite3_vtab *)&psVar41->pVfs)->pModule) {\n    return;\n  }\n  pHVar52 = pHStack_98[-0x7ba].next;\n  pcVar51 = fts3InsertDocsize;\n  psVar33 = psStack_8c;\n  (*(code *)pHVar52)();\n  psVar44 = (sqlite3 *)pHVar52[0x545f].pKey;\n  psVar38 = (sqlite3 *)((sqlite3_vtab *)&psVar33->pVfs)->pModule;\n  pVStack_c4 = (Vdbe *)((sqlite3_vtab *)&psVar44->pVfs)->pModule;\n  psVar42 = psVar33;\n  psVar29 = psVar20;\n  pFStack_c0 = p_00;\n  psStack_bc = psVar41;\n  pDStack_b8 = pDVar40;\n  psStack_b4 = psVar43;\n  psStack_b0 = psVar31;\n  pHStack_ac = (HashElem *)pcVar51;\n  if (psVar38 == (sqlite3 *)0x0) {\n    uVar14 = psVar20->mDbFlags;\n    apVal = (sqlite3_value **)(uVar14 >> 0x1e);\n    psVar29 = (sqlite3 *)(uVar14 * 10);\n    psVar42 = (sqlite3 *)\n              (uVar14 * 5 >> 0x1f |\n              ((uint)(uVar14 * 5 < uVar14 * 4) +\n              ((uint)apVal | ((int)uVar14 >> 0x1f) << 2) + ((int)uVar14 >> 0x1f)) * 2);\n    psVar41 = (sqlite3 *)(*(code *)pHVar52[0x5433].next)();\n    psVar31 = psVar33;\n    if (psVar41 == (sqlite3 *)0x0) {\n      ((sqlite3_vtab *)&psVar33->pVfs)->pModule = (sqlite3_module *)0x7;\n    }\n    else {\n      uVar39 = psVar20->mDbFlags;\n      if (0 < (int)uVar39) {\n        piVar8 = psVar49->aLimit;\n        psVar38 = (sqlite3 *)0x0;\n        do {\n          pbVar36 = (byte *)((int)psVar41->aLimit + (int)&psVar38[-1].busyHandler);\n          psVar6 = ((sqlite3_vtab *)&psVar49->pVfs)->pModule;\n          pbVar4 = pbVar36;\n          do {\n            pbVar34 = pbVar4;\n            psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n            bVar26 = (byte)psVar6;\n            *pbVar34 = bVar26 | 0x80;\n            psVar6 = psVar30;\n            pbVar4 = pbVar34 + 1;\n          } while (psVar30 != (sqlite3_module *)0x0);\n          psVar49 = (sqlite3 *)&psVar49->pVdbe;\n          *pbVar34 = bVar26 & 0x7f;\n          psVar38 = (sqlite3 *)((int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36));\n        } while ((sqlite3 *)(piVar8 + (uVar39 - 0x1b)) != psVar49);\n      }\n      apVal = (sqlite3_value **)0x0;\n      psVar49 = (sqlite3 *)&psStack_c8;\n      psVar29 = (sqlite3 *)0x14;\n      psVar6 = (sqlite3_module *)\n               fts3SqlStmt((Fts3Table *)psVar20,0x14,(sqlite3_stmt **)psVar49,(sqlite3_value **)0x0)\n      ;\n      if (psVar6 == (sqlite3_module *)0x0) {\n        (*(code *)pHVar52[0x543c].data)\n                  (psStack_c8,1,(psVar20->u1).isInterrupted,*(undefined4 *)((int)&psVar20->u1 + 4));\n        psVar29 = (sqlite3 *)0x2;\n        pHStack_e0 = pHVar52[0x541f].next;\n        psVar49 = psVar41;\n        apVal = (sqlite3_value **)psVar38;\n        (*(code *)pHVar52[0x543c].pKey)(psStack_c8);\n        (*(code *)pHVar52[0x5420].next)(psStack_c8);\n        psVar6 = (sqlite3_module *)(*(code *)pHVar52[0x5421].data)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n        psVar42 = psStack_c8;\n      }\n      else {\n        psVar42 = psVar41;\n        (*(code *)pHVar52[0x541f].next)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n      }\n    }\n  }\n  if (pVStack_c4 == (Vdbe *)((sqlite3_vtab *)&psVar44->pVfs)->pModule) {\n    return;\n  }\n  pHVar53 = pHVar52[0x545e].next;\n  (*(code *)pHVar53)();\n  ppvStack_148 = &pHVar53[0x5bf8].data;\n  pHVar52 = pHVar53[0x5440].prev;\n  pPStack_11c = (PreUpdate *)(((pthread_mutex_t *)&pHVar52->next)->__data).__lock;\n  psVar43 = psVar42;\n  psVar33 = psVar49;\n  psVar35 = (sqlite3 *)apVal;\n  psStack_118 = psVar38;\n  psStack_114 = psVar41;\n  psStack_110 = psVar44;\n  psStack_10c = psVar20;\n  psStack_108 = psVar31;\n  uStack_104 = (int)unaff_s5;\n  if (((sqlite3_vtab *)&psVar42->pVfs)->pModule == (sqlite3_module *)0x0) {\n    uVar39 = psVar29->mDbFlags;\n    psVar31 = (sqlite3 *)(uVar39 + 2);\n    psVar33 = (sqlite3 *)((uint)psVar31 >> 0x1d);\n    psVar43 = (sqlite3 *)\n              ((uint)((int)psVar31 * 7) >> 0x1f |\n              ((((uint)psVar33 | ((int)psVar31 >> 0x1f) << 3) - ((int)psVar31 >> 0x1f)) -\n              (uint)((uint)((int)psVar31 * 8) < (uint)((int)psVar31 * 7))) * 2);\n    psVar44 = (sqlite3 *)(*(code *)pHVar53[0x5413].data)(psVar43,(int)psVar31 * 0xe);\n    psVar20 = psVar29;\n    unaff_s5 = psVar49;\n    unaff_s6 = (sqlite3 *)apVal;\n    if (psVar44 == (sqlite3 *)0x0) {\n      ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)0x7;\n    }\n    else {\n      psVar33 = (sqlite3 *)&psStack_12c;\n      psVar35 = (sqlite3 *)0x0;\n      p_Stack_13c = (_func_int_void_ptr *)((int)ppvStack_148[-0x1f4c] + 0x7f20);\n      psStack_140 = psVar33;\n      unaff_s8 = (sqlite3 *)\n                 fts3SqlStmt((Fts3Table *)psVar29,0x16,(sqlite3_stmt **)psVar33,\n                             (sqlite3_value **)0x0);\n      psVar43 = psVar44;\n      if (unaff_s8 == (sqlite3 *)0x0) {\n        psVar33 = (sqlite3 *)0x0;\n        unaff_s7 = (sqlite3 *)(uVar39 * 4 + 8);\n        (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1);\n        iVar5 = (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n        if (iVar5 == 100) {\n          p_Stack_138 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd2])(psStack_12c,0);\n          p_Stack_134 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd3])(psStack_12c,0);\n          if ((p_Stack_134 == (_func_int_void_ptr *)0x0) ||\n             ((char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0')) {\n            psVar41 = (sqlite3 *)0x0;\n            if (0 < (int)psVar31) goto LAB_001079ec;\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n          }\n          else {\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n            if (0 < (int)psVar31) {\n              psVar41 = (sqlite3 *)0x0;\n              if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }\nLAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);\n              do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);\n              pcVar51 = (code *)ppvStack_148[-0x1fda];\n            }\n          }\n        }\n        else {\n          psVar33 = unaff_s7;\n          (*(code *)ppvStack_148[-0x1eff])(psVar44,0);\nLAB_00107790:\n          pcVar51 = (code *)ppvStack_148[-0x1fda];\n        }\n        unaff_s8 = (sqlite3 *)(*pcVar51)(psStack_12c);\n        if (unaff_s8 == (sqlite3 *)0x0) {\n          psVar6 = ((sqlite3_vtab *)&psVar44->pVfs)->pModule;\n          if (((int)pHStack_e0 < 0) && (psVar6 < (sqlite3_module *)-(int)pHStack_e0)) {\n            psVar6 = (sqlite3_module *)0x0;\n          }\n          else {\n            psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6);\n          }\n          ((sqlite3_vtab *)&psVar44->pVfs)->pModule = psVar6;\n          ppVVar24 = &psVar44->pVdbe;\n          if (-1 < (int)psVar29->mDbFlags) {\n            iVar5 = 0;\n            do {\n              while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30) {\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }\n              iVar5 = iVar5 + 1;\n              *ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);\n              psVar49 = (sqlite3 *)&psVar49->pVdbe;\n              ppVVar24 = ppVVar24 + 1;\n              apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n            } while (iVar5 <= (int)psVar29->mDbFlags);\n          }\nLAB_00107834:\n          unaff_s7 = (sqlite3 *)((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler);\n          psVar41 = (sqlite3 *)0x0;\n          psVar38 = psVar44;\n          if (0 < (int)psVar31) {\n            do {\n              pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);\n              psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;\n              pbVar4 = pbVar36;\n              do {\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              } while (psVar30 != (sqlite3_module *)0x0);\n              psVar38 = (sqlite3 *)&psVar38->pVdbe;\n              *pbVar34 = bVar26 & 0x7f;\n              psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));\n              unaff_s8 = psVar41;\n            } while (unaff_s7 != psVar38);\n          }\n          psVar35 = (sqlite3 *)0x0;\n          psVar33 = psStack_140;\n          psVar41 = (sqlite3 *)(*p_Stack_13c)(psVar29);\n          unaff_s5 = psVar49;\n          unaff_s6 = (sqlite3 *)apVal;\n          if (psVar41 == (sqlite3 *)0x0) {\n            (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1,0);\n            ppvStack_150 = (void **)0x0;\n            psVar33 = unaff_s7;\n            psVar35 = unaff_s8;\n            (*(code *)ppvStack_148[-0x1f6d])(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n            psVar6 = (sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c);\n            pcVar51 = (code *)ppvStack_148[-0x1f6b];\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = psVar6;\n            (*pcVar51)(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe4])();\n          }\n          else {\n            psStack_140 = psVar41;\n            (*(code *)ppvStack_148[-0x1fe4])();\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (*(code *)ppvStack_148[-0x1fe4])();\n      ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)unaff_s8;\n    }\n  }\nLAB_0010767c:\n  if (pPStack_11c == (PreUpdate *)(((pthread_mutex_t *)&pHVar52->next)->__data).__lock) {\n    return;\n  }\n  pcVar51 = (code *)ppvStack_148[-0x1ee8];\n  pcVar56 = fts3NextMethod;\n  (*pcVar51)();\n  pcStack_190 = pcVar51 + 0x5bb2c;\n  puVar45 = *(undefined4 **)(pcVar51 + 0x53fa8);\n  psStack_184 = (sqlite3 *)*puVar45;\n  pHStack_17c = pHVar52;\n  psStack_178 = psVar42;\n  psStack_174 = psVar44;\n  psStack_170 = psVar20;\n  psStack_16c = psVar31;\n  psStack_168 = unaff_s5;\n  pcStack_164 = pcVar56;\n  if (*(ushort *)&psVar43->pVdbe < 2) {\n    iVar5 = (**(code **)(pcVar51 + 0x53bac))((sqlite3 *)psVar43->mutex);\n    if (iVar5 == 100) {\n      uVar58 = (**(code **)(pcStack_190 + -0x7f60))((sqlite3 *)psVar43->mutex,0);\n      psVar41 = (sqlite3 *)0x0;\n      psVar43->flags = uVar58;\n    }\n    else {\n      pcVar51 = *(code **)(pcStack_190 + -0x7f68);\n      psVar41 = (sqlite3 *)psVar43->mutex;\n      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n      psVar41 = (sqlite3 *)(*pcVar51)(psVar41);\n    }\n  }\n  else {\n    psVar42 = (sqlite3 *)psVar43->aDb;\n    psStack_188 = (sqlite3 *)0x0;\n    if (psVar42 == (sqlite3 *)0x0) {\n      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n    }\n    else {\n      iVar5 = *(int *)(pcVar51 + 0x53c4c);\n      psVar49 = (sqlite3 *)(*(int *)(pcVar51 + 0x53c74) + 0x6888);\n      do {\n        if (*(char *)((int)&psVar43->pVdbe + 3) == '\0') {\n          (**(code **)(pcStack_190 + -0x7f68))((sqlite3 *)psVar43->mutex);\n        }\n        if (psStack_188 == (sqlite3 *)0x0) {\n          psVar33 = (sqlite3 *)&psStack_188;\n          (*(code *)psVar49)(psVar43,psVar42);\n        }\n        cVar2 = *(char *)&psVar42->flags;\n        *(undefined1 *)((int)&psVar43->pVdbe + 3) = 1;\n        *(char *)((int)&psVar43->pVdbe + 2) = cVar2;\n        psVar43->mTrace = '\0';\n        psVar43->noSharedCache = '\0';\n        psVar43->nSqlExec = '\0';\n        psVar43->field_0x5b = 1;\n        puVar27 = (u8 *)psVar42->mDbFlags;\n        *(sqlite3_tokenizer **)((int)&psVar43->flags + 4) =\n             *(sqlite3_tokenizer **)&psVar42->field_0x1c;\n        *(u8 **)&psVar43->flags = puVar27;\n      } while ((cVar2 == '\0') &&\n              (iVar7 = sqlite3Fts3EvalTestDeferred((Fts3Cursor *)psVar43,(int *)&psStack_188),\n              iVar7 != 0));\n      psVar41 = psStack_188;\n      psVar20 = (sqlite3 *)&psStack_188;\n      psVar31 = (sqlite3 *)(iVar5 + 0x5348);\n      unaff_s5 = psVar49;\n      if (psStack_188 != (sqlite3 *)0x0) goto LAB_00107b8c;\n    }\n    puVar27 = *(u8 **)&psVar43->flags;\n    if (*(char *)((int)&psVar43->szMmap + 4) == '\0') {\n      if ((int)puVar27 <= (int)*(u8 **)&psVar43->temp_store) {\n        if (*(u8 **)&psVar43->temp_store != puVar27) goto LAB_00107c24;\n        if (*(sqlite3_tokenizer **)((int)&psVar43->flags + 4) <=\n            *(sqlite3_tokenizer **)&psVar43->nextAutovac) {\n          psVar41 = (sqlite3 *)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if ((psVar43->iSysErrno <= (int)puVar27) &&\n            (((u8 *)psVar43->iSysErrno != puVar27 ||\n             (*(sqlite3_tokenizer **)&psVar43->dbOptFlags <=\n              *(sqlite3_tokenizer **)((int)&psVar43->flags + 4))))) {\nLAB_00107c24:\n      psVar41 = (sqlite3 *)0x0;\n      goto LAB_00107b8c;\n    }\n    psVar41 = (sqlite3 *)0x0;\n    *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n  }\nLAB_00107b8c:\n  if (psStack_184 == (sqlite3 *)*puVar45) {\n    return;\n  }\n  pcVar56 = *(code **)(pcStack_190 + -0x7ba0);\n  pcVar57 = fts3InitVtab;\n  psVar38 = psStack_184;\n  (*pcVar56)();\n  psVar49 = psStack_188;\n  pcVar51 = pcStack_190;\n  piVar25 = *(int **)(pcVar56 + 0x53d80);\n  psVar44 = (sqlite3 *)((int)((int)&psVar35[-1].pNextBlocked + 2) * 4);\n  pVStack_218 = (Vdbe *)0x0;\n  psStack_1cc = (sqlite3 *)*piVar25;\n  cVar2 = *(char *)(*(int *)pcStack_190 + 3);\n  psStack_214 = (sqlite3_vfs *)0x0;\n  psVar29 = psVar33;\n  argv = psVar35;\n  psStack_1c8 = psVar43;\n  psStack_1c4 = psVar42;\n  puStack_1c0 = puVar45;\n  psStack_1bc = psVar20;\n  psStack_1b8 = psVar31;\n  psStack_1b4 = unaff_s5;\n  psStack_1b0 = unaff_s6;\n  psStack_1ac = unaff_s7;\n  psStack_1a8 = unaff_s8;\n  pcStack_1a4 = pcVar57;\n  psStack_1a0 = psVar41;\n  iVar5 = (**(code **)(pcVar56 + 0x53d18))(*(int *)(pcStack_190 + 4));\n  iVar7 = (**(code **)(pcVar56 + 0x53d18))(*(int *)(pcVar51 + 8));\n  psVar31 = psVar44;\n  piVar8 = (int *)(**(code **)(pcVar56 + 0x53ab4))(0);\n  if (piVar8 != (int *)0x0) {\n    psVar29 = psVar44;\n    (**(code **)(pcVar56 + 0x53d08))(piVar8,0);\n    psVar31 = psVar44;\n    iStack_284 = (**(code **)(pcVar56 + 0x53ab4))(0);\n    if (iStack_284 != 0) {\n      psVar31 = (sqlite3 *)0x0;\n      (**(code **)(pcVar56 + 0x53d08))(iStack_284);\n      if (pVStack_218 != (Vdbe *)0x0) {\n        psVar43 = (sqlite3 *)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar9 = *(int *)(pcVar56 + 0x5393c);\n      if ((int)psVar35 < 4) {\n        uVar39 = 0;\n        iVar46 = 0;\n        bVar26 = 0;\n      }\n      else {\n        pcVar57 = pcVar51 + 0xc;\n        uVar39 = 0;\n        iVar46 = 0;\n        iVar10 = *(int *)(pcVar56 + 0x5392c);\n        psVar43 = (sqlite3 *)0x3;\n        bVar26 = 0;\n        iVar11 = *(int *)(pcVar56 + 0x539b0);\n        iVar12 = *(int *)(pcVar56 + 0x53a70);\n        iVar13 = *(int *)(pcVar56 + 0x53950);\n        do {\n          psVar41 = *(sqlite3 **)pcVar57;\n          if ((psStack_214 == (sqlite3_vfs *)0x0) &&\n             (uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14)) {\n            psVar44 = (sqlite3 *)&DAT_00000008;\n            psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344);\n            iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar41);\n            if (iVar15 != 0) goto LAB_00107e50;\n            if ((*(char *)&psVar41->pDfltColl < 0) ||\n               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0')) goto LAB_00107e50;\n            psVar44 = (sqlite3 *)&psStack_214;\n            psVar31 = (sqlite3 *)((int)&psVar41->pDfltColl + 1);\n            argv = psVar49;\n            pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n          }\n          else {\nLAB_00107e50:\n            if (cVar2 == '4') {\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }\n            else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }\n            iVar15 = (*pcVar54)(psVar41);\n            iVar46 = iVar46 + 1 + iVar15;\n            piVar16 = piVar8 + uVar39;\n            uVar39 = uVar39 + 1;\n            *piVar16 = (int)psVar41;\n          }\nLAB_00107e88:\n          psVar43 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1);\n          if (pVStack_218 != (Vdbe *)0x0) {\n            psVar43 = (sqlite3 *)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar57 = pcVar57 + 4;\n        } while (psVar35 != psVar43);\n      }\n      if (uVar39 == 0) {\n        uVar39 = 1;\n        iVar46 = 8;\n        *piVar8 = *(int *)(pcVar56 + 0x5393c) + 0x6a48;\n      }\n      if (psStack_214 == (sqlite3_vfs *)0x0) {\n        psVar44 = (sqlite3 *)&psStack_214;\n        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3ef8);\n        pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n        argv = psVar49;\n        if (pVStack_218 != (Vdbe *)0x0) {\n          iStack_278 = 0;\n          psVar43 = (sqlite3 *)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      psVar31 = (sqlite3 *)0x18;\n      iStack_278 = (**(code **)(pcVar56 + 0x53ab4))(0);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        psVar43 = (sqlite3 *)0x0;\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar56 + 0x53d08))(iStack_278,0,0x18);\n      pVStack_218 = (Vdbe *)0x0;\n      iVar5 = iVar5 + 1;\n      psVar44 = (sqlite3 *)((uVar39 + 0x4e) * 4);\n      psVar41 = (sqlite3 *)((int)psVar44->aLimit + iVar7 + 1 + iVar5 + uVar39 + iVar46 + -0x6c);\n      psVar31 = psVar41;\n      psVar43 = (sqlite3 *)(**(code **)(pcVar56 + 0x53ab4))(0);\n      if (psVar43 == (sqlite3 *)0x0) {\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar56 + 0x53d08))(psVar43,0,psVar41);\n      puVar28 = &(psVar43->lookaside).nSlot;\n      psVar43->mDbFlags = uVar39;\n      psVar43->mutex = (sqlite3_mutex *)psVar38;\n      psVar43->pCollNeededArg = (void *)0x0;\n      *(u32 **)&psVar43->field_0x1c = puVar28;\n      *(sqlite3_vfs **)((int)&psVar43->flags + 4) = psStack_214;\n      psVar43->xCollNeeded16 = (_func_void_void_ptr_sqlite3_ptr_int_void_ptr *)&LAB_00100000;\n      if (cVar2 == '4') {\n        bVar26 = bVar26 ^ 1;\n      }\n      else {\n        bVar26 = 0;\n      }\n      *(byte *)((int)&psVar43->xUpdateCallback + 2) = bVar26;\n      pcVar57 = *(code **)(pcVar56 + 0x53d84);\n      pFVar18 = (Fts3Index *)(puVar28 + uVar39);\n      *(u8 *)((int)&psVar43->xUpdateCallback + 3) = '\0';\n      *(char **)&psVar43->lastRowid = (char *)0x0;\n      *(char **)((int)&psVar43->lastRowid + 4) = (char *)0x0;\n      psVar43->xCollNeeded = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr *)pFVar18;\n      *(int *)&psVar43->szMmap = 0xff;\n      *(bool *)((int)&psVar43->xUpdateCallback + 1) = cVar2 == '4';\n      *(bool *)&psVar43->xUpdateCallback = cVar2 == '4';\n      (*pcVar57)(pFVar18,iStack_278,0x18);\n      psVar43->pWalArg = (void *)0x1;\n      iVar46 = 0;\n      iVar9 = 0;\n      do {\n        pFVar18 = (Fts3Index *)psVar43->xCollNeeded;\n        iVar46 = iVar46 + 1;\n        *(undefined2 *)(&(pFVar18->hPending).keyClass + iVar9) = 0x101;\n        *(undefined4 *)((int)&(pFVar18->hPending).first + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).count + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).htsize + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).ht + iVar9) = 0;\n        iVar9 = iVar9 + 0x18;\n      } while (iVar46 != 1);\n      pcVar57 = *(code **)(pcVar56 + 0x53d84);\n      pcVar47 = (char *)((int)&((Fts3Index *)psVar43->xCollNeeded)[1].nPrefix + uVar39);\n      *(Fts3Index **)&psVar43->flags = (Fts3Index *)psVar43->xCollNeeded + 1;\n      psVar43->nDb = (int)pcVar47;\n      pDVar40 = (Db *)(pcVar47 + iVar7 + 1);\n      pcVar55 = (char *)((int)&pDVar40->zDbSName + iVar5);\n      (*pcVar57)(pcVar47,*(int *)(pcVar51 + 8));\n      psVar43->aDb = pDVar40;\n      (**(code **)(pcVar56 + 0x53d84))(pDVar40,*(int *)(pcVar51 + 4),iVar5);\n      if (0 < (int)uVar39) {\n        iVar7 = *(int *)(pcVar56 + 0x539b0);\n        iVar9 = 0;\n        iVar5 = *(int *)(pcVar56 + 0x539b0);\n        do {\n          pVStack_210 = (Vdbe *)0x0;\n          uVar19 = (*(code *)(iVar5 + 0x273c))(*(undefined4 *)((int)piVar8 + iVar9),&pVStack_210);\n          if (0 < (int)pVStack_210) {\n            (**(code **)(pcVar56 + 0x53d84))(pcVar55,uVar19);\n          }\n          pcVar55[(int)pVStack_210] = '\0';\n          (*(code *)(iVar7 + 0x1120))(pcVar55);\n          puVar45 = (undefined4 *)((int)*(char ***)&psVar43->field_0x1c + iVar9);\n          iVar9 = iVar9 + 4;\n          *puVar45 = pcVar55;\n          pcVar55 = pcVar55 + (int)((int)&pVStack_210->db + 1);\n        } while (uVar39 * 4 != iVar9);\n        uVar48 = 0;\n        do {\n          (**(code **)(pcVar56 + 0x53d18))((*(char ***)&psVar43->field_0x1c)[uVar48]);\n          uVar48 = uVar48 + 1;\n        } while (uVar48 != uVar39);\n      }\n      psVar41 = (sqlite3 *)&pVStack_210;\n      pVStack_210 = (Vdbe *)0x0;\n      if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n        iVar5 = *(int *)(pcVar56 + 0x5393c);\n        pVStack_210 = (Vdbe *)0x0;\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x3610);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar9 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            iVar46 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x3608,iVar5 + 0x53f4,iVar7,\n                       (*(char ***)&psVar43->field_0x1c)[iVar7]);\n            iVar7 = iVar46;\n          } while (iVar46 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar56 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar56 + 0x53974))(0);\n      }\n      else {\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x7714);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar5 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar7;\n            iVar7 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22);\n          } while (iVar7 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = *(sqlite3_vtab ***)&psVar43->lastRowid;\n      argv = (sqlite3 *)psVar43->aDb;\n      if (in_stack_fffffd68 == (sqlite3_vtab **)0x0) {\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x53950) + -14000);\n      }\n      else {\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x5393c) + 0x53f4);\n      }\n      (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35e4);\n      psVar43->pRollbackArg = pVStack_210;\n      iVar5 = *(int *)(pcVar56 + 0x5393c);\n      pVStack_210 = (Vdbe *)0x0;\n      psVar31 = psVar41;\n      (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x4774);\n      if (0 < (int)psVar43->mDbFlags) {\n        iVar9 = *(int *)(pcVar56 + 0x53950);\n        iVar7 = 0;\n        do {\n          psVar31 = psVar41;\n          argv = (sqlite3 *)(iVar5 + 0x53f4);\n          (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x35cc);\n          iVar7 = iVar7 + 1;\n        } while (iVar7 < (int)psVar43->mDbFlags);\n      }\n      psVar44 = *(sqlite3 **)(pcVar56 + 0x53950);\n      if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n        psVar44 = (sqlite3 *)&psVar44[-0x1b].openFlags;\n        psVar31 = psVar41;\n        (*pcVar51)(&pVStack_218);\n      }\n      (**(code **)(pcVar56 + 0x53974))(0);\n      psVar43->xRollbackCallback = (_func_void_void_ptr *)pVStack_210;\n      if (pVStack_218 != (Vdbe *)0x0) goto LAB_00107f4c;\n      if (psStack_1a0 == (sqlite3 *)0x0) {\n        if (cVar2 != '4') {\n          *(u8 *)((int)&psVar43->xUpdateCallback + 1) = '\x02';\n        }\n      }\n      else {\n        pVStack_210 = (Vdbe *)0x0;\n        psVar20 = (sqlite3 *)psVar43->mutex;\n        if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n          pcVar47 = *(char **)((int)&psVar43->lastRowid + 4);\n          ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                        (*(int *)(pcVar56 + 0x53950) + -0x35c0);\n          if (ppcVar22 == (char **)0x0) {\nLAB_00109454:\n            ppcVar22 = (char **)0x0;\n            pVStack_210 = (Vdbe *)&DAT_00000007;\n          }\n          else {\n            iVar5 = *(int *)(pcVar56 + 0x53950);\n            if (0 < (int)psVar43->mDbFlags) {\n              iVar7 = 0;\n              do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);\n            }\n            if ((pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0))\n            goto LAB_00109454;\n          }\n          in_stack_fffffd6c = ppcVar22;\n          fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x358c),\n                     psVar43->aDb,(char *)psVar43->nDb);\n          (**(code **)(pcVar56 + 0x53974))(ppcVar22);\n        }\n        fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x3568),\n                   psVar43->aDb,(char *)psVar43->nDb);\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        argv = (sqlite3 *)psVar43->aDb;\n        psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3520);\n        psVar31 = psVar20;\n        fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 2) != '\0') {\n          in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n          argv = (sqlite3 *)psVar43->aDb;\n          psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3484);\n          fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n          psVar31 = psVar20;\n        }\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 1) != '\0') {\n          psVar31 = psVar43;\n          sqlite3Fts3CreateStatTable((int *)psVar41,(Fts3Table *)psVar43);\n        }\n        pVStack_218 = pVStack_210;\n        if (pVStack_210 != (Vdbe *)0x0) {\n          psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n          goto LAB_00107f4c;\n        }\n      }\n      psVar31 = (sqlite3 *)psVar43->aDb;\n      psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x33d4);\n      if (psVar20 == (sqlite3 *)0x0) {\n        (**(code **)(pcVar56 + 0x53974))(0);\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        goto LAB_00107f4c;\n      }\n      psVar44 = (sqlite3 *)0xffffffff;\n      in_stack_fffffd68 = (sqlite3_vtab **)0x0;\n      psVar31 = psVar20;\n      pVVar21 = (Vdbe *)sqlite3_prepare((sqlite3 *)psVar43->mutex,(char *)psVar20,-1,\n                                        (sqlite3_stmt **)psVar41,(char **)0x0);\n      if (pVVar21 == (Vdbe *)0x0) {\n        (**(code **)(pcVar56 + 0x53984))(pVStack_210);\n        psVar31 = (sqlite3 *)0x0;\n        p_Var23 = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64\n                   *)(**(code **)(pcVar56 + 0x53998))(pVStack_210);\n        psVar43->xPreUpdateCallback = p_Var23;\n        pVVar21 = (Vdbe *)(**(code **)(pcVar56 + 0x53990))(pVStack_210);\n        argv = psVar41;\nLAB_001089a8:\n        (**(code **)(pcVar56 + 0x53974))(psVar20);\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        pVStack_218 = pVVar21;\n        if (pVVar21 != (Vdbe *)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar51 = *(code **)(pcVar56 + 0x53974);\n        argv = psVar41;\n        if (pVVar21 != (Vdbe *)&DAT_00000017) goto LAB_001089a8;\n        psVar43->xPreUpdateCallback =\n             (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *)\n             0x400;\n        (*pcVar51)(psVar20);\n        pVStack_218 = (Vdbe *)0x0;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n      }\n      argv = *(sqlite3 **)((int)&psVar43->lastRowid + 4);\n      if (argv == (sqlite3 *)0x0) {\n        argv = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar56 + 0x53c10))((sqlite3 *)psVar43->mutex,1,1);\n      psVar41 = (sqlite3 *)\n                (**(code **)(pcVar56 + 0x5397c))\n                          (*(int *)(pcVar56 + 0x53950) + -0x3440,**(char ***)&psVar43->field_0x1c);\n      if (psVar41 == (sqlite3 *)0x0) {\nLAB_00108a70:\n        psVar31 = (sqlite3 *)0x0;\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar41 = (sqlite3 *)0x0;\n        pVVar21 = (Vdbe *)&DAT_00000007;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n      }\n      else {\n        iVar5 = 1;\n        if (1 < (int)psVar43->mDbFlags) {\n          iVar7 = *(int *)(pcVar56 + 0x53950);\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar5;\n            iVar5 = iVar5 + 1;\n            psVar41 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)\n            ;\n            if (psVar41 == (sqlite3 *)0x0) goto LAB_00108a70;\n          } while (iVar5 < (int)psVar43->mDbFlags);\n        }\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar31 = psVar41;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n        if (psVar20 == (sqlite3 *)0x0) {\n          pVVar21 = (Vdbe *)&DAT_00000007;\n        }\n        else {\n          psVar31 = psVar20;\n          pVVar21 = (Vdbe *)sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20);\n        }\n      }\n      (**(code **)(pcVar56 + 0x53974))(psVar20);\n      (**(code **)(pcVar56 + 0x53974))(psVar41);\n      pVStack_218 = pVVar21;\n      goto LAB_00107f4c;\n    }\n  }\n  psVar44 = psVar29;\n  iStack_284 = 0;\n  iStack_278 = 0;\n  psVar43 = (sqlite3 *)0x0;\n  pVStack_218 = (Vdbe *)&DAT_00000007;\nLAB_00107f4c:\n  (**(code **)(pcVar56 + 0x53974))(0);\n  (**(code **)(pcVar56 + 0x53974))(iStack_278);\n  (**(code **)(pcVar56 + 0x53974))(0);\n  (**(code **)(pcVar56 + 0x53974))(0);\n  (**(code **)(pcVar56 + 0x53974))(0);\n  (**(code **)(pcVar56 + 0x53974))(0);\n  (**(code **)(pcVar56 + 0x53974))(piVar8);\n  (**(code **)(pcVar56 + 0x53974))(iStack_284);\n  if (pVStack_218 == (Vdbe *)0x0) {\n    *puStack_18c = psVar43;\n  }\n  else if (psVar43 == (sqlite3 *)0x0) {\n    if (psStack_214 != (sqlite3_vfs *)0x0) {\n      (*((sqlite3_tokenizer_module *)psStack_214->iVersion)->xDestroy)\n                ((sqlite3_tokenizer *)psStack_214);\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar56 + 0x53a4c) + 0x585c))(psVar43);\n  }\n  if (psStack_1cc == (sqlite3 *)*piVar25) {\n    return;\n  }\n  psVar43 = psStack_1cc;\n  (**(code **)(pcVar56 + 0x53d64))();\n  fts3InitVtab(0,psVar43,psVar31,(int)psVar44,(char **)argv,in_stack_fffffd68,in_stack_fffffd6c);\n  return;\n}" primitive_type (function_declarator "fts3SqlExec(int *pRC,Fts3Table *p,int eStmt,sqlite3_value **apVal)" identifier (parameter_list "(int *pRC,Fts3Table *p,int eStmt,sqlite3_value **apVal)" ( (parameter_declaration "int *pRC" primitive_type (pointer_declarator "*pRC" * identifier)) , (parameter_declaration "Fts3Table *p" type_identifier (pointer_declarator "*p" * identifier)) , (parameter_declaration "int eStmt" primitive_type identifier) , (parameter_declaration "sqlite3_value **apVal" type_identifier (pointer_declarator "**apVal" * (pointer_declarator "*apVal" * identifier))) ))) (compound_statement "{\n  char cVar1;\n  char cVar2;\n  undefined *puVar3;\n  byte *pbVar4;\n  int iVar5;\n  sqlite3_module *psVar6;\n  int iVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  uint uVar14;\n  int iVar15;\n  int *piVar16;\n  int *piVar17;\n  Fts3Index *pFVar18;\n  undefined4 uVar19;\n  sqlite3 *psVar20;\n  Vdbe *pVVar21;\n  char **ppcVar22;\n  _func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *p_Var23;\n  Vdbe **ppVVar24;\n  int *piVar25;\n  byte bVar26;\n  u8 *puVar27;\n  u32 *puVar28;\n  sqlite3 *psVar29;\n  sqlite3_module *psVar30;\n  sqlite3 *psVar31;\n  CollSeq *pCVar32;\n  sqlite3 *psVar33;\n  byte *pbVar34;\n  sqlite3 *psVar35;\n  sqlite3 *argv;\n  byte *pbVar36;\n  undefined1 *puVar37;\n  Fts3Table *p_00;\n  sqlite3 *psVar38;\n  u32 uVar39;\n  Db *pDVar40;\n  sqlite3 *psVar41;\n  sqlite3 *psVar42;\n  sqlite3 *psVar43;\n  sqlite3 *psVar44;\n  undefined4 *puVar45;\n  int iVar46;\n  Schema **unaff_s3;\n  char *pcVar47;\n  u32 uVar48;\n  sqlite3 *unaff_s5;\n  sqlite3 *psVar49;\n  sqlite3 *unaff_s6;\n  sqlite3 *unaff_s7;\n  undefined *puVar50;\n  code *pcVar51;\n  HashElem *pHVar52;\n  HashElem *pHVar53;\n  code *pcVar54;\n  sqlite3 *unaff_s8;\n  char *pcVar55;\n  code *pcVar56;\n  code *pcVar57;\n  undefined8 uVar58;\n  sqlite3_vtab **in_stack_fffffd68;\n  char **in_stack_fffffd6c;\n  int iStack_284;\n  int iStack_278;\n  Vdbe *pVStack_218;\n  sqlite3_vfs *psStack_214;\n  Vdbe *pVStack_210;\n  sqlite3_module *psStack_20c;\n  Vdbe *pVStack_208;\n  CollSeq *pCStack_204;\n  sqlite3 *apsStack_200 [13];\n  sqlite3 *psStack_1cc;\n  sqlite3 *psStack_1c8;\n  sqlite3 *psStack_1c4;\n  undefined4 *puStack_1c0;\n  sqlite3 *psStack_1bc;\n  sqlite3 *psStack_1b8;\n  sqlite3 *psStack_1b4;\n  sqlite3 *psStack_1b0;\n  sqlite3 *psStack_1ac;\n  sqlite3 *psStack_1a8;\n  code *pcStack_1a4;\n  sqlite3 *psStack_1a0;\n  code *pcStack_190;\n  undefined4 *puStack_18c;\n  sqlite3 *psStack_188;\n  sqlite3 *psStack_184;\n  HashElem *pHStack_17c;\n  sqlite3 *psStack_178;\n  sqlite3 *psStack_174;\n  sqlite3 *psStack_170;\n  sqlite3 *psStack_16c;\n  sqlite3 *psStack_168;\n  code *pcStack_164;\n  void **ppvStack_150;\n  void **ppvStack_148;\n  sqlite3 *psStack_140;\n  _func_int_void_ptr *p_Stack_13c;\n  _func_int_void_ptr *p_Stack_138;\n  _func_int_void_ptr *p_Stack_134;\n  sqlite3_vfs *psStack_12c;\n  undefined1 auStack_128 [4];\n  sqlite3_module *psStack_124;\n  PreUpdate *pPStack_11c;\n  sqlite3 *psStack_118;\n  sqlite3 *psStack_114;\n  sqlite3 *psStack_110;\n  sqlite3 *psStack_10c;\n  sqlite3 *psStack_108;\n  undefined4 uStack_104;\n  HashElem *pHStack_e0;\n  sqlite3 *psStack_c8;\n  Vdbe *pVStack_c4;\n  Fts3Table *pFStack_c0;\n  sqlite3 *psStack_bc;\n  Db *pDStack_b8;\n  sqlite3 *psStack_b4;\n  sqlite3 *psStack_b0;\n  HashElem *pHStack_ac;\n  HashElem *pHStack_98;\n  sqlite3 *psStack_90;\n  sqlite3 *psStack_8c;\n  sqlite3 *psStack_84;\n  Db *pDStack_80;\n  sqlite3 *psStack_7c;\n  undefined4 uStack_78;\n  Schema *pSStack_50;\n  Fts3Table *pFStack_4c;\n  _func_void_void_ptr_int_char_ptr_char_ptr_sqlite_int64 *p_Stack_44;\n  _func_int_void_ptr *p_Stack_40;\n  sqlite3_stmt *pStmt;\n  sqlite3 *psStack_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  psVar31 = (sqlite3 *)&pStmt;\n  psStack_14 = *(sqlite3 **)PTR___stack_chk_guard_0015ba2c;\n  iVar5 = fts3SqlStmt(p,eStmt,(sqlite3_stmt **)psVar31,apVal);\n  if (iVar5 == 0) {\n    (*(code *)PTR_sqlite3_step_0015b630)(pStmt);\n    iVar5 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    p = (Fts3Table *)pStmt;\n  }\n  *pRC = iVar5;\n  if (psStack_14 == *(sqlite3 **)puVar3) {\n    return;\n  }\n  puVar50 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  p_Stack_44 = (_func_void_void_ptr_int_char_ptr_char_ptr_sqlite_int64 *)puVar3;\n  pDVar40 = *(Db **)(puVar50 + 0x549c8);\n  pSStack_50 = (Schema *)0x0;\n  pFStack_4c = (Fts3Table *)pDVar40->zDbSName;\n  psVar43 = (sqlite3 *)eStmt;\n  p_Stack_40 = (_func_int_void_ptr *)pRC;\n  (*(code *)(*(int *)(puVar50 + 0x54674) + -0x38a4))();\n  if ((sqlite3 *)eStmt == (sqlite3 *)0x0) {\nLAB_00107118:\n    eStmt = *(int *)(puVar50 + 0x5466c);\n    if (pSStack_50 != (Schema *)0x0) goto LAB_001070c8;\n    unaff_s3 = &pSStack_50;\n    apVal = (sqlite3_value **)0x0;\n    psVar31 = (sqlite3 *)0x3;\n    eStmt = (int)&((sqlite3 *)(eStmt + 0x6e00))->aDbStatic[1].pBt;\n    psVar43 = (sqlite3 *)p;\n    fts3SqlExec((int *)unaff_s3,p,3,(sqlite3_value **)0x0);\n    if (pSStack_50 == (Schema *)0x0) {\n      apVal = (sqlite3_value **)0x0;\n      psVar31 = (sqlite3 *)&DAT_00000004;\n      psVar43 = (sqlite3 *)p;\n      fts3SqlExec((int *)unaff_s3,p,4,(sqlite3_value **)0x0);\n      if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) != '\0') {\n        apVal = (sqlite3_value **)0x0;\n        if (pSStack_50 != (Schema *)0x0) goto LAB_001070d4;\n        psVar31 = (sqlite3 *)&DAT_00000005;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)unaff_s3,p,5,(sqlite3_value **)0x0);\n      }\n      goto LAB_0010719c;\n    }\n  }\n  else {\n    if (pSStack_50 == (Schema *)0x0) {\n      apVal = (sqlite3_value **)0x0;\n      psVar31 = (sqlite3 *)0x2;\n      psVar43 = (sqlite3 *)p;\n      fts3SqlExec((int *)&pSStack_50,p,2,(sqlite3_value **)0x0);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) == '\0') {\nLAB_0010719c:\n      if ((*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1) != '\0') &&\n         (pSStack_50 == (Schema *)0x0)) {\n        apVal = (sqlite3_value **)0x0;\n        psVar31 = (sqlite3 *)&DAT_00000006;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)&pSStack_50,p,6,(sqlite3_value **)0x0);\n      }\n    }\n  }\nLAB_001070d4:\n  if (pFStack_4c == (Fts3Table *)pDVar40->zDbSName) {\n    return;\n  }\n  pcVar51 = *(code **)(puVar50 + 0x549ac);\n  p_00 = pFStack_4c;\n  (*pcVar51)();\n  pHStack_98 = (HashElem *)(pcVar51 + 0x5c3d0);\n  psVar41 = *(sqlite3 **)(pcVar51 + 0x5484c);\n  psStack_8c = (sqlite3 *)((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n  psStack_84 = (sqlite3 *)p;\n  pDStack_80 = pDVar40;\n  psStack_7c = (sqlite3 *)eStmt;\n  uStack_78 = (int)unaff_s3;\n  if (p_00->zContentTbl == (char *)0x0) {\n    apVal = (sqlite3_value **)&psVar43->pVdbe;\n    psVar49 = (sqlite3 *)&psStack_90;\n    psVar20 = (sqlite3 *)0x12;\n    pDVar40 = (Db *)fts3SqlStmt(p_00,0x12,(sqlite3_stmt **)psVar49,apVal);\n    psVar38 = psStack_90;\n    if (pDVar40 == (Db *)0x0) {\n      iVar5 = p_00->nColumn;\n      if (p_00->zLanguageid != (char *)0x0) {\n        psVar49 = (sqlite3 *)(*(code *)pHStack_98[-0x7e8].prev)(psVar43->aLimit[iVar5 + -0x17]);\n        psVar20 = (sqlite3 *)(iVar5 + 2);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7d1].prev)(psVar38);\n        unaff_s5 = psVar38;\n        if (pDVar40 != (Db *)0x0) goto LAB_00107278;\n        iVar5 = p_00->nColumn;\n      }\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->aLimit[iVar5 + -0x18]);\n      if (iVar5 == 5) {\nLAB_001073c8:\n        (*(code *)pHStack_98[-0x7f8].next)(psStack_90);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7f7].data)(psStack_90);\n        uVar58 = (*(code *)pHStack_98[-0x7ec].next)(p_00->db);\n        psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);\n        psVar31->pVdbe = (Vdbe *)(int)uVar58;\n      }\n      else {\n        unaff_s5 = (sqlite3 *)\n                   (*(code *)pHStack_98[-0x7fc].data)(((sqlite3_vtab *)&psVar43->pVfs)->pModule);\n        if ((unaff_s5 == (sqlite3 *)&DAT_00000005) &&\n           (iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe), iVar5 != 5)) {\n          pDVar40 = (Db *)0x1;\n        }\n        else {\n          psVar20 = (sqlite3 *)0x1;\n          psVar43 = (sqlite3 *)(psVar43->aLimit + p_00->nColumn + -0x18);\n          psVar49 = (sqlite3 *)((sqlite3_vtab *)&psVar43->pVfs)->pModule;\n          pDVar40 = (Db *)(*(code *)pHStack_98[-0x7db].pKey)(psStack_90);\n          if (pDVar40 == (Db *)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }\n  else {\n    p_00 = (Fts3Table *)psVar43->aLimit[p_00->nColumn + -0x18];\n    psVar20 = psVar43;\n    psVar49 = psVar31;\n    iVar5 = (**(code **)(pcVar51 + 0x54418))(p_00);\n    if (iVar5 == 5) {\n      p_00 = (Fts3Table *)psVar43->pVdbe;\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);\n    }\n    else {\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);\n    }\n    if (iVar5 == 1) {\n      pDVar40 = (Db *)0x0;\n      uVar58 = (*(code *)pHStack_98[-0x7fb].data)(p_00);\n      psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);\n      psVar31->pVdbe = (Vdbe *)(int)uVar58;\n    }\n    else {\n      pDVar40 = (Db *)&DAT_00000013;\n    }\n  }\nLAB_00107278:\n  if (psStack_8c == (sqlite3 *)((sqlite3_vtab *)&psVar41->pVfs)->pModule) {\n    return;\n  }\n  pHVar52 = pHStack_98[-0x7ba].next;\n  pcVar51 = fts3InsertDocsize;\n  psVar33 = psStack_8c;\n  (*(code *)pHVar52)();\n  psVar44 = (sqlite3 *)pHVar52[0x545f].pKey;\n  psVar38 = (sqlite3 *)((sqlite3_vtab *)&psVar33->pVfs)->pModule;\n  pVStack_c4 = (Vdbe *)((sqlite3_vtab *)&psVar44->pVfs)->pModule;\n  psVar42 = psVar33;\n  psVar29 = psVar20;\n  pFStack_c0 = p_00;\n  psStack_bc = psVar41;\n  pDStack_b8 = pDVar40;\n  psStack_b4 = psVar43;\n  psStack_b0 = psVar31;\n  pHStack_ac = (HashElem *)pcVar51;\n  if (psVar38 == (sqlite3 *)0x0) {\n    uVar14 = psVar20->mDbFlags;\n    apVal = (sqlite3_value **)(uVar14 >> 0x1e);\n    psVar29 = (sqlite3 *)(uVar14 * 10);\n    psVar42 = (sqlite3 *)\n              (uVar14 * 5 >> 0x1f |\n              ((uint)(uVar14 * 5 < uVar14 * 4) +\n              ((uint)apVal | ((int)uVar14 >> 0x1f) << 2) + ((int)uVar14 >> 0x1f)) * 2);\n    psVar41 = (sqlite3 *)(*(code *)pHVar52[0x5433].next)();\n    psVar31 = psVar33;\n    if (psVar41 == (sqlite3 *)0x0) {\n      ((sqlite3_vtab *)&psVar33->pVfs)->pModule = (sqlite3_module *)0x7;\n    }\n    else {\n      uVar39 = psVar20->mDbFlags;\n      if (0 < (int)uVar39) {\n        piVar8 = psVar49->aLimit;\n        psVar38 = (sqlite3 *)0x0;\n        do {\n          pbVar36 = (byte *)((int)psVar41->aLimit + (int)&psVar38[-1].busyHandler);\n          psVar6 = ((sqlite3_vtab *)&psVar49->pVfs)->pModule;\n          pbVar4 = pbVar36;\n          do {\n            pbVar34 = pbVar4;\n            psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n            bVar26 = (byte)psVar6;\n            *pbVar34 = bVar26 | 0x80;\n            psVar6 = psVar30;\n            pbVar4 = pbVar34 + 1;\n          } while (psVar30 != (sqlite3_module *)0x0);\n          psVar49 = (sqlite3 *)&psVar49->pVdbe;\n          *pbVar34 = bVar26 & 0x7f;\n          psVar38 = (sqlite3 *)((int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36));\n        } while ((sqlite3 *)(piVar8 + (uVar39 - 0x1b)) != psVar49);\n      }\n      apVal = (sqlite3_value **)0x0;\n      psVar49 = (sqlite3 *)&psStack_c8;\n      psVar29 = (sqlite3 *)0x14;\n      psVar6 = (sqlite3_module *)\n               fts3SqlStmt((Fts3Table *)psVar20,0x14,(sqlite3_stmt **)psVar49,(sqlite3_value **)0x0)\n      ;\n      if (psVar6 == (sqlite3_module *)0x0) {\n        (*(code *)pHVar52[0x543c].data)\n                  (psStack_c8,1,(psVar20->u1).isInterrupted,*(undefined4 *)((int)&psVar20->u1 + 4));\n        psVar29 = (sqlite3 *)0x2;\n        pHStack_e0 = pHVar52[0x541f].next;\n        psVar49 = psVar41;\n        apVal = (sqlite3_value **)psVar38;\n        (*(code *)pHVar52[0x543c].pKey)(psStack_c8);\n        (*(code *)pHVar52[0x5420].next)(psStack_c8);\n        psVar6 = (sqlite3_module *)(*(code *)pHVar52[0x5421].data)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n        psVar42 = psStack_c8;\n      }\n      else {\n        psVar42 = psVar41;\n        (*(code *)pHVar52[0x541f].next)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n      }\n    }\n  }\n  if (pVStack_c4 == (Vdbe *)((sqlite3_vtab *)&psVar44->pVfs)->pModule) {\n    return;\n  }\n  pHVar53 = pHVar52[0x545e].next;\n  (*(code *)pHVar53)();\n  ppvStack_148 = &pHVar53[0x5bf8].data;\n  pHVar52 = pHVar53[0x5440].prev;\n  pPStack_11c = (PreUpdate *)(((pthread_mutex_t *)&pHVar52->next)->__data).__lock;\n  psVar43 = psVar42;\n  psVar33 = psVar49;\n  psVar35 = (sqlite3 *)apVal;\n  psStack_118 = psVar38;\n  psStack_114 = psVar41;\n  psStack_110 = psVar44;\n  psStack_10c = psVar20;\n  psStack_108 = psVar31;\n  uStack_104 = (int)unaff_s5;\n  if (((sqlite3_vtab *)&psVar42->pVfs)->pModule == (sqlite3_module *)0x0) {\n    uVar39 = psVar29->mDbFlags;\n    psVar31 = (sqlite3 *)(uVar39 + 2);\n    psVar33 = (sqlite3 *)((uint)psVar31 >> 0x1d);\n    psVar43 = (sqlite3 *)\n              ((uint)((int)psVar31 * 7) >> 0x1f |\n              ((((uint)psVar33 | ((int)psVar31 >> 0x1f) << 3) - ((int)psVar31 >> 0x1f)) -\n              (uint)((uint)((int)psVar31 * 8) < (uint)((int)psVar31 * 7))) * 2);\n    psVar44 = (sqlite3 *)(*(code *)pHVar53[0x5413].data)(psVar43,(int)psVar31 * 0xe);\n    psVar20 = psVar29;\n    unaff_s5 = psVar49;\n    unaff_s6 = (sqlite3 *)apVal;\n    if (psVar44 == (sqlite3 *)0x0) {\n      ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)0x7;\n    }\n    else {\n      psVar33 = (sqlite3 *)&psStack_12c;\n      psVar35 = (sqlite3 *)0x0;\n      p_Stack_13c = (_func_int_void_ptr *)((int)ppvStack_148[-0x1f4c] + 0x7f20);\n      psStack_140 = psVar33;\n      unaff_s8 = (sqlite3 *)\n                 fts3SqlStmt((Fts3Table *)psVar29,0x16,(sqlite3_stmt **)psVar33,\n                             (sqlite3_value **)0x0);\n      psVar43 = psVar44;\n      if (unaff_s8 == (sqlite3 *)0x0) {\n        psVar33 = (sqlite3 *)0x0;\n        unaff_s7 = (sqlite3 *)(uVar39 * 4 + 8);\n        (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1);\n        iVar5 = (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n        if (iVar5 == 100) {\n          p_Stack_138 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd2])(psStack_12c,0);\n          p_Stack_134 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd3])(psStack_12c,0);\n          if ((p_Stack_134 == (_func_int_void_ptr *)0x0) ||\n             ((char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0')) {\n            psVar41 = (sqlite3 *)0x0;\n            if (0 < (int)psVar31) goto LAB_001079ec;\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n          }\n          else {\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n            if (0 < (int)psVar31) {\n              psVar41 = (sqlite3 *)0x0;\n              if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }\nLAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);\n              do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);\n              pcVar51 = (code *)ppvStack_148[-0x1fda];\n            }\n          }\n        }\n        else {\n          psVar33 = unaff_s7;\n          (*(code *)ppvStack_148[-0x1eff])(psVar44,0);\nLAB_00107790:\n          pcVar51 = (code *)ppvStack_148[-0x1fda];\n        }\n        unaff_s8 = (sqlite3 *)(*pcVar51)(psStack_12c);\n        if (unaff_s8 == (sqlite3 *)0x0) {\n          psVar6 = ((sqlite3_vtab *)&psVar44->pVfs)->pModule;\n          if (((int)pHStack_e0 < 0) && (psVar6 < (sqlite3_module *)-(int)pHStack_e0)) {\n            psVar6 = (sqlite3_module *)0x0;\n          }\n          else {\n            psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6);\n          }\n          ((sqlite3_vtab *)&psVar44->pVfs)->pModule = psVar6;\n          ppVVar24 = &psVar44->pVdbe;\n          if (-1 < (int)psVar29->mDbFlags) {\n            iVar5 = 0;\n            do {\n              while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30) {\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }\n              iVar5 = iVar5 + 1;\n              *ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);\n              psVar49 = (sqlite3 *)&psVar49->pVdbe;\n              ppVVar24 = ppVVar24 + 1;\n              apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n            } while (iVar5 <= (int)psVar29->mDbFlags);\n          }\nLAB_00107834:\n          unaff_s7 = (sqlite3 *)((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler);\n          psVar41 = (sqlite3 *)0x0;\n          psVar38 = psVar44;\n          if (0 < (int)psVar31) {\n            do {\n              pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);\n              psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;\n              pbVar4 = pbVar36;\n              do {\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              } while (psVar30 != (sqlite3_module *)0x0);\n              psVar38 = (sqlite3 *)&psVar38->pVdbe;\n              *pbVar34 = bVar26 & 0x7f;\n              psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));\n              unaff_s8 = psVar41;\n            } while (unaff_s7 != psVar38);\n          }\n          psVar35 = (sqlite3 *)0x0;\n          psVar33 = psStack_140;\n          psVar41 = (sqlite3 *)(*p_Stack_13c)(psVar29);\n          unaff_s5 = psVar49;\n          unaff_s6 = (sqlite3 *)apVal;\n          if (psVar41 == (sqlite3 *)0x0) {\n            (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1,0);\n            ppvStack_150 = (void **)0x0;\n            psVar33 = unaff_s7;\n            psVar35 = unaff_s8;\n            (*(code *)ppvStack_148[-0x1f6d])(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n            psVar6 = (sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c);\n            pcVar51 = (code *)ppvStack_148[-0x1f6b];\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = psVar6;\n            (*pcVar51)(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe4])();\n          }\n          else {\n            psStack_140 = psVar41;\n            (*(code *)ppvStack_148[-0x1fe4])();\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (*(code *)ppvStack_148[-0x1fe4])();\n      ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)unaff_s8;\n    }\n  }\nLAB_0010767c:\n  if (pPStack_11c == (PreUpdate *)(((pthread_mutex_t *)&pHVar52->next)->__data).__lock) {\n    return;\n  }\n  pcVar51 = (code *)ppvStack_148[-0x1ee8];\n  pcVar56 = fts3NextMethod;\n  (*pcVar51)();\n  pcStack_190 = pcVar51 + 0x5bb2c;\n  puVar45 = *(undefined4 **)(pcVar51 + 0x53fa8);\n  psStack_184 = (sqlite3 *)*puVar45;\n  pHStack_17c = pHVar52;\n  psStack_178 = psVar42;\n  psStack_174 = psVar44;\n  psStack_170 = psVar20;\n  psStack_16c = psVar31;\n  psStack_168 = unaff_s5;\n  pcStack_164 = pcVar56;\n  if (*(ushort *)&psVar43->pVdbe < 2) {\n    iVar5 = (**(code **)(pcVar51 + 0x53bac))((sqlite3 *)psVar43->mutex);\n    if (iVar5 == 100) {\n      uVar58 = (**(code **)(pcStack_190 + -0x7f60))((sqlite3 *)psVar43->mutex,0);\n      psVar41 = (sqlite3 *)0x0;\n      psVar43->flags = uVar58;\n    }\n    else {\n      pcVar51 = *(code **)(pcStack_190 + -0x7f68);\n      psVar41 = (sqlite3 *)psVar43->mutex;\n      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n      psVar41 = (sqlite3 *)(*pcVar51)(psVar41);\n    }\n  }\n  else {\n    psVar42 = (sqlite3 *)psVar43->aDb;\n    psStack_188 = (sqlite3 *)0x0;\n    if (psVar42 == (sqlite3 *)0x0) {\n      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n    }\n    else {\n      iVar5 = *(int *)(pcVar51 + 0x53c4c);\n      psVar49 = (sqlite3 *)(*(int *)(pcVar51 + 0x53c74) + 0x6888);\n      do {\n        if (*(char *)((int)&psVar43->pVdbe + 3) == '\0') {\n          (**(code **)(pcStack_190 + -0x7f68))((sqlite3 *)psVar43->mutex);\n        }\n        if (psStack_188 == (sqlite3 *)0x0) {\n          psVar33 = (sqlite3 *)&psStack_188;\n          (*(code *)psVar49)(psVar43,psVar42);\n        }\n        cVar2 = *(char *)&psVar42->flags;\n        *(undefined1 *)((int)&psVar43->pVdbe + 3) = 1;\n        *(char *)((int)&psVar43->pVdbe + 2) = cVar2;\n        psVar43->mTrace = '\0';\n        psVar43->noSharedCache = '\0';\n        psVar43->nSqlExec = '\0';\n        psVar43->field_0x5b = 1;\n        puVar27 = (u8 *)psVar42->mDbFlags;\n        *(sqlite3_tokenizer **)((int)&psVar43->flags + 4) =\n             *(sqlite3_tokenizer **)&psVar42->field_0x1c;\n        *(u8 **)&psVar43->flags = puVar27;\n      } while ((cVar2 == '\0') &&\n              (iVar7 = sqlite3Fts3EvalTestDeferred((Fts3Cursor *)psVar43,(int *)&psStack_188),\n              iVar7 != 0));\n      psVar41 = psStack_188;\n      psVar20 = (sqlite3 *)&psStack_188;\n      psVar31 = (sqlite3 *)(iVar5 + 0x5348);\n      unaff_s5 = psVar49;\n      if (psStack_188 != (sqlite3 *)0x0) goto LAB_00107b8c;\n    }\n    puVar27 = *(u8 **)&psVar43->flags;\n    if (*(char *)((int)&psVar43->szMmap + 4) == '\0') {\n      if ((int)puVar27 <= (int)*(u8 **)&psVar43->temp_store) {\n        if (*(u8 **)&psVar43->temp_store != puVar27) goto LAB_00107c24;\n        if (*(sqlite3_tokenizer **)((int)&psVar43->flags + 4) <=\n            *(sqlite3_tokenizer **)&psVar43->nextAutovac) {\n          psVar41 = (sqlite3 *)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if ((psVar43->iSysErrno <= (int)puVar27) &&\n            (((u8 *)psVar43->iSysErrno != puVar27 ||\n             (*(sqlite3_tokenizer **)&psVar43->dbOptFlags <=\n              *(sqlite3_tokenizer **)((int)&psVar43->flags + 4))))) {\nLAB_00107c24:\n      psVar41 = (sqlite3 *)0x0;\n      goto LAB_00107b8c;\n    }\n    psVar41 = (sqlite3 *)0x0;\n    *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n  }\nLAB_00107b8c:\n  if (psStack_184 == (sqlite3 *)*puVar45) {\n    return;\n  }\n  pcVar56 = *(code **)(pcStack_190 + -0x7ba0);\n  pcVar57 = fts3InitVtab;\n  psVar38 = psStack_184;\n  (*pcVar56)();\n  psVar49 = psStack_188;\n  pcVar51 = pcStack_190;\n  piVar25 = *(int **)(pcVar56 + 0x53d80);\n  psVar44 = (sqlite3 *)((int)((int)&psVar35[-1].pNextBlocked + 2) * 4);\n  pVStack_218 = (Vdbe *)0x0;\n  psStack_1cc = (sqlite3 *)*piVar25;\n  cVar2 = *(char *)(*(int *)pcStack_190 + 3);\n  psStack_214 = (sqlite3_vfs *)0x0;\n  psVar29 = psVar33;\n  argv = psVar35;\n  psStack_1c8 = psVar43;\n  psStack_1c4 = psVar42;\n  puStack_1c0 = puVar45;\n  psStack_1bc = psVar20;\n  psStack_1b8 = psVar31;\n  psStack_1b4 = unaff_s5;\n  psStack_1b0 = unaff_s6;\n  psStack_1ac = unaff_s7;\n  psStack_1a8 = unaff_s8;\n  pcStack_1a4 = pcVar57;\n  psStack_1a0 = psVar41;\n  iVar5 = (**(code **)(pcVar56 + 0x53d18))(*(int *)(pcStack_190 + 4));\n  iVar7 = (**(code **)(pcVar56 + 0x53d18))(*(int *)(pcVar51 + 8));\n  psVar31 = psVar44;\n  piVar8 = (int *)(**(code **)(pcVar56 + 0x53ab4))(0);\n  if (piVar8 != (int *)0x0) {\n    psVar29 = psVar44;\n    (**(code **)(pcVar56 + 0x53d08))(piVar8,0);\n    psVar31 = psVar44;\n    iStack_284 = (**(code **)(pcVar56 + 0x53ab4))(0);\n    if (iStack_284 != 0) {\n      psVar31 = (sqlite3 *)0x0;\n      (**(code **)(pcVar56 + 0x53d08))(iStack_284);\n      if (pVStack_218 != (Vdbe *)0x0) {\n        psVar43 = (sqlite3 *)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar9 = *(int *)(pcVar56 + 0x5393c);\n      if ((int)psVar35 < 4) {\n        uVar39 = 0;\n        iVar46 = 0;\n        bVar26 = 0;\n      }\n      else {\n        pcVar57 = pcVar51 + 0xc;\n        uVar39 = 0;\n        iVar46 = 0;\n        iVar10 = *(int *)(pcVar56 + 0x5392c);\n        psVar43 = (sqlite3 *)0x3;\n        bVar26 = 0;\n        iVar11 = *(int *)(pcVar56 + 0x539b0);\n        iVar12 = *(int *)(pcVar56 + 0x53a70);\n        iVar13 = *(int *)(pcVar56 + 0x53950);\n        do {\n          psVar41 = *(sqlite3 **)pcVar57;\n          if ((psStack_214 == (sqlite3_vfs *)0x0) &&\n             (uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14)) {\n            psVar44 = (sqlite3 *)&DAT_00000008;\n            psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344);\n            iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar41);\n            if (iVar15 != 0) goto LAB_00107e50;\n            if ((*(char *)&psVar41->pDfltColl < 0) ||\n               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0')) goto LAB_00107e50;\n            psVar44 = (sqlite3 *)&psStack_214;\n            psVar31 = (sqlite3 *)((int)&psVar41->pDfltColl + 1);\n            argv = psVar49;\n            pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n          }\n          else {\nLAB_00107e50:\n            if (cVar2 == '4') {\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }\n            else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }\n            iVar15 = (*pcVar54)(psVar41);\n            iVar46 = iVar46 + 1 + iVar15;\n            piVar16 = piVar8 + uVar39;\n            uVar39 = uVar39 + 1;\n            *piVar16 = (int)psVar41;\n          }\nLAB_00107e88:\n          psVar43 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1);\n          if (pVStack_218 != (Vdbe *)0x0) {\n            psVar43 = (sqlite3 *)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar57 = pcVar57 + 4;\n        } while (psVar35 != psVar43);\n      }\n      if (uVar39 == 0) {\n        uVar39 = 1;\n        iVar46 = 8;\n        *piVar8 = *(int *)(pcVar56 + 0x5393c) + 0x6a48;\n      }\n      if (psStack_214 == (sqlite3_vfs *)0x0) {\n        psVar44 = (sqlite3 *)&psStack_214;\n        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3ef8);\n        pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n        argv = psVar49;\n        if (pVStack_218 != (Vdbe *)0x0) {\n          iStack_278 = 0;\n          psVar43 = (sqlite3 *)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      psVar31 = (sqlite3 *)0x18;\n      iStack_278 = (**(code **)(pcVar56 + 0x53ab4))(0);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        psVar43 = (sqlite3 *)0x0;\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar56 + 0x53d08))(iStack_278,0,0x18);\n      pVStack_218 = (Vdbe *)0x0;\n      iVar5 = iVar5 + 1;\n      psVar44 = (sqlite3 *)((uVar39 + 0x4e) * 4);\n      psVar41 = (sqlite3 *)((int)psVar44->aLimit + iVar7 + 1 + iVar5 + uVar39 + iVar46 + -0x6c);\n      psVar31 = psVar41;\n      psVar43 = (sqlite3 *)(**(code **)(pcVar56 + 0x53ab4))(0);\n      if (psVar43 == (sqlite3 *)0x0) {\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar56 + 0x53d08))(psVar43,0,psVar41);\n      puVar28 = &(psVar43->lookaside).nSlot;\n      psVar43->mDbFlags = uVar39;\n      psVar43->mutex = (sqlite3_mutex *)psVar38;\n      psVar43->pCollNeededArg = (void *)0x0;\n      *(u32 **)&psVar43->field_0x1c = puVar28;\n      *(sqlite3_vfs **)((int)&psVar43->flags + 4) = psStack_214;\n      psVar43->xCollNeeded16 = (_func_void_void_ptr_sqlite3_ptr_int_void_ptr *)&LAB_00100000;\n      if (cVar2 == '4') {\n        bVar26 = bVar26 ^ 1;\n      }\n      else {\n        bVar26 = 0;\n      }\n      *(byte *)((int)&psVar43->xUpdateCallback + 2) = bVar26;\n      pcVar57 = *(code **)(pcVar56 + 0x53d84);\n      pFVar18 = (Fts3Index *)(puVar28 + uVar39);\n      *(u8 *)((int)&psVar43->xUpdateCallback + 3) = '\0';\n      *(char **)&psVar43->lastRowid = (char *)0x0;\n      *(char **)((int)&psVar43->lastRowid + 4) = (char *)0x0;\n      psVar43->xCollNeeded = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr *)pFVar18;\n      *(int *)&psVar43->szMmap = 0xff;\n      *(bool *)((int)&psVar43->xUpdateCallback + 1) = cVar2 == '4';\n      *(bool *)&psVar43->xUpdateCallback = cVar2 == '4';\n      (*pcVar57)(pFVar18,iStack_278,0x18);\n      psVar43->pWalArg = (void *)0x1;\n      iVar46 = 0;\n      iVar9 = 0;\n      do {\n        pFVar18 = (Fts3Index *)psVar43->xCollNeeded;\n        iVar46 = iVar46 + 1;\n        *(undefined2 *)(&(pFVar18->hPending).keyClass + iVar9) = 0x101;\n        *(undefined4 *)((int)&(pFVar18->hPending).first + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).count + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).htsize + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).ht + iVar9) = 0;\n        iVar9 = iVar9 + 0x18;\n      } while (iVar46 != 1);\n      pcVar57 = *(code **)(pcVar56 + 0x53d84);\n      pcVar47 = (char *)((int)&((Fts3Index *)psVar43->xCollNeeded)[1].nPrefix + uVar39);\n      *(Fts3Index **)&psVar43->flags = (Fts3Index *)psVar43->xCollNeeded + 1;\n      psVar43->nDb = (int)pcVar47;\n      pDVar40 = (Db *)(pcVar47 + iVar7 + 1);\n      pcVar55 = (char *)((int)&pDVar40->zDbSName + iVar5);\n      (*pcVar57)(pcVar47,*(int *)(pcVar51 + 8));\n      psVar43->aDb = pDVar40;\n      (**(code **)(pcVar56 + 0x53d84))(pDVar40,*(int *)(pcVar51 + 4),iVar5);\n      if (0 < (int)uVar39) {\n        iVar7 = *(int *)(pcVar56 + 0x539b0);\n        iVar9 = 0;\n        iVar5 = *(int *)(pcVar56 + 0x539b0);\n        do {\n          pVStack_210 = (Vdbe *)0x0;\n          uVar19 = (*(code *)(iVar5 + 0x273c))(*(undefined4 *)((int)piVar8 + iVar9),&pVStack_210);\n          if (0 < (int)pVStack_210) {\n            (**(code **)(pcVar56 + 0x53d84))(pcVar55,uVar19);\n          }\n          pcVar55[(int)pVStack_210] = '\0';\n          (*(code *)(iVar7 + 0x1120))(pcVar55);\n          puVar45 = (undefined4 *)((int)*(char ***)&psVar43->field_0x1c + iVar9);\n          iVar9 = iVar9 + 4;\n          *puVar45 = pcVar55;\n          pcVar55 = pcVar55 + (int)((int)&pVStack_210->db + 1);\n        } while (uVar39 * 4 != iVar9);\n        uVar48 = 0;\n        do {\n          (**(code **)(pcVar56 + 0x53d18))((*(char ***)&psVar43->field_0x1c)[uVar48]);\n          uVar48 = uVar48 + 1;\n        } while (uVar48 != uVar39);\n      }\n      psVar41 = (sqlite3 *)&pVStack_210;\n      pVStack_210 = (Vdbe *)0x0;\n      if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n        iVar5 = *(int *)(pcVar56 + 0x5393c);\n        pVStack_210 = (Vdbe *)0x0;\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x3610);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar9 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            iVar46 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x3608,iVar5 + 0x53f4,iVar7,\n                       (*(char ***)&psVar43->field_0x1c)[iVar7]);\n            iVar7 = iVar46;\n          } while (iVar46 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar56 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar56 + 0x53974))(0);\n      }\n      else {\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x7714);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar5 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar7;\n            iVar7 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22);\n          } while (iVar7 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = *(sqlite3_vtab ***)&psVar43->lastRowid;\n      argv = (sqlite3 *)psVar43->aDb;\n      if (in_stack_fffffd68 == (sqlite3_vtab **)0x0) {\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x53950) + -14000);\n      }\n      else {\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x5393c) + 0x53f4);\n      }\n      (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35e4);\n      psVar43->pRollbackArg = pVStack_210;\n      iVar5 = *(int *)(pcVar56 + 0x5393c);\n      pVStack_210 = (Vdbe *)0x0;\n      psVar31 = psVar41;\n      (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x4774);\n      if (0 < (int)psVar43->mDbFlags) {\n        iVar9 = *(int *)(pcVar56 + 0x53950);\n        iVar7 = 0;\n        do {\n          psVar31 = psVar41;\n          argv = (sqlite3 *)(iVar5 + 0x53f4);\n          (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x35cc);\n          iVar7 = iVar7 + 1;\n        } while (iVar7 < (int)psVar43->mDbFlags);\n      }\n      psVar44 = *(sqlite3 **)(pcVar56 + 0x53950);\n      if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n        psVar44 = (sqlite3 *)&psVar44[-0x1b].openFlags;\n        psVar31 = psVar41;\n        (*pcVar51)(&pVStack_218);\n      }\n      (**(code **)(pcVar56 + 0x53974))(0);\n      psVar43->xRollbackCallback = (_func_void_void_ptr *)pVStack_210;\n      if (pVStack_218 != (Vdbe *)0x0) goto LAB_00107f4c;\n      if (psStack_1a0 == (sqlite3 *)0x0) {\n        if (cVar2 != '4') {\n          *(u8 *)((int)&psVar43->xUpdateCallback + 1) = '\x02';\n        }\n      }\n      else {\n        pVStack_210 = (Vdbe *)0x0;\n        psVar20 = (sqlite3 *)psVar43->mutex;\n        if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n          pcVar47 = *(char **)((int)&psVar43->lastRowid + 4);\n          ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                        (*(int *)(pcVar56 + 0x53950) + -0x35c0);\n          if (ppcVar22 == (char **)0x0) {\nLAB_00109454:\n            ppcVar22 = (char **)0x0;\n            pVStack_210 = (Vdbe *)&DAT_00000007;\n          }\n          else {\n            iVar5 = *(int *)(pcVar56 + 0x53950);\n            if (0 < (int)psVar43->mDbFlags) {\n              iVar7 = 0;\n              do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);\n            }\n            if ((pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0))\n            goto LAB_00109454;\n          }\n          in_stack_fffffd6c = ppcVar22;\n          fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x358c),\n                     psVar43->aDb,(char *)psVar43->nDb);\n          (**(code **)(pcVar56 + 0x53974))(ppcVar22);\n        }\n        fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x3568),\n                   psVar43->aDb,(char *)psVar43->nDb);\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        argv = (sqlite3 *)psVar43->aDb;\n        psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3520);\n        psVar31 = psVar20;\n        fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 2) != '\0') {\n          in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n          argv = (sqlite3 *)psVar43->aDb;\n          psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3484);\n          fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n          psVar31 = psVar20;\n        }\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 1) != '\0') {\n          psVar31 = psVar43;\n          sqlite3Fts3CreateStatTable((int *)psVar41,(Fts3Table *)psVar43);\n        }\n        pVStack_218 = pVStack_210;\n        if (pVStack_210 != (Vdbe *)0x0) {\n          psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n          goto LAB_00107f4c;\n        }\n      }\n      psVar31 = (sqlite3 *)psVar43->aDb;\n      psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x33d4);\n      if (psVar20 == (sqlite3 *)0x0) {\n        (**(code **)(pcVar56 + 0x53974))(0);\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        goto LAB_00107f4c;\n      }\n      psVar44 = (sqlite3 *)0xffffffff;\n      in_stack_fffffd68 = (sqlite3_vtab **)0x0;\n      psVar31 = psVar20;\n      pVVar21 = (Vdbe *)sqlite3_prepare((sqlite3 *)psVar43->mutex,(char *)psVar20,-1,\n                                        (sqlite3_stmt **)psVar41,(char **)0x0);\n      if (pVVar21 == (Vdbe *)0x0) {\n        (**(code **)(pcVar56 + 0x53984))(pVStack_210);\n        psVar31 = (sqlite3 *)0x0;\n        p_Var23 = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64\n                   *)(**(code **)(pcVar56 + 0x53998))(pVStack_210);\n        psVar43->xPreUpdateCallback = p_Var23;\n        pVVar21 = (Vdbe *)(**(code **)(pcVar56 + 0x53990))(pVStack_210);\n        argv = psVar41;\nLAB_001089a8:\n        (**(code **)(pcVar56 + 0x53974))(psVar20);\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        pVStack_218 = pVVar21;\n        if (pVVar21 != (Vdbe *)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar51 = *(code **)(pcVar56 + 0x53974);\n        argv = psVar41;\n        if (pVVar21 != (Vdbe *)&DAT_00000017) goto LAB_001089a8;\n        psVar43->xPreUpdateCallback =\n             (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *)\n             0x400;\n        (*pcVar51)(psVar20);\n        pVStack_218 = (Vdbe *)0x0;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n      }\n      argv = *(sqlite3 **)((int)&psVar43->lastRowid + 4);\n      if (argv == (sqlite3 *)0x0) {\n        argv = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar56 + 0x53c10))((sqlite3 *)psVar43->mutex,1,1);\n      psVar41 = (sqlite3 *)\n                (**(code **)(pcVar56 + 0x5397c))\n                          (*(int *)(pcVar56 + 0x53950) + -0x3440,**(char ***)&psVar43->field_0x1c);\n      if (psVar41 == (sqlite3 *)0x0) {\nLAB_00108a70:\n        psVar31 = (sqlite3 *)0x0;\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar41 = (sqlite3 *)0x0;\n        pVVar21 = (Vdbe *)&DAT_00000007;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n      }\n      else {\n        iVar5 = 1;\n        if (1 < (int)psVar43->mDbFlags) {\n          iVar7 = *(int *)(pcVar56 + 0x53950);\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar5;\n            iVar5 = iVar5 + 1;\n            psVar41 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)\n            ;\n            if (psVar41 == (sqlite3 *)0x0) goto LAB_00108a70;\n          } while (iVar5 < (int)psVar43->mDbFlags);\n        }\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar31 = psVar41;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n        if (psVar20 == (sqlite3 *)0x0) {\n          pVVar21 = (Vdbe *)&DAT_00000007;\n        }\n        else {\n          psVar31 = psVar20;\n          pVVar21 = (Vdbe *)sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20);\n        }\n      }\n      (**(code **)(pcVar56 + 0x53974))(psVar20);\n      (**(code **)(pcVar56 + 0x53974))(psVar41);\n      pVStack_218 = pVVar21;\n      goto LAB_00107f4c;\n    }\n  }\n  psVar44 = psVar29;\n  iStack_284 = 0;\n  iStack_278 = 0;\n  psVar43 = (sqlite3 *)0x0;\n  pVStack_218 = (Vdbe *)&DAT_00000007;\nLAB_00107f4c:\n  (**(code **)(pcVar56 + 0x53974))(0);\n  (**(code **)(pcVar56 + 0x53974))(iStack_278);\n  (**(code **)(pcVar56 + 0x53974))(0);\n  (**(code **)(pcVar56 + 0x53974))(0);\n  (**(code **)(pcVar56 + 0x53974))(0);\n  (**(code **)(pcVar56 + 0x53974))(0);\n  (**(code **)(pcVar56 + 0x53974))(piVar8);\n  (**(code **)(pcVar56 + 0x53974))(iStack_284);\n  if (pVStack_218 == (Vdbe *)0x0) {\n    *puStack_18c = psVar43;\n  }\n  else if (psVar43 == (sqlite3 *)0x0) {\n    if (psStack_214 != (sqlite3_vfs *)0x0) {\n      (*((sqlite3_tokenizer_module *)psStack_214->iVersion)->xDestroy)\n                ((sqlite3_tokenizer *)psStack_214);\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar56 + 0x53a4c) + 0x585c))(psVar43);\n  }\n  if (psStack_1cc == (sqlite3 *)*piVar25) {\n    return;\n  }\n  psVar43 = psStack_1cc;\n  (**(code **)(pcVar56 + 0x53d64))();\n  fts3InitVtab(0,psVar43,psVar31,(int)psVar44,(char **)argv,in_stack_fffffd68,in_stack_fffffd6c);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "sqlite3_module *psVar6;" type_identifier (pointer_declarator "*psVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "Fts3Index *pFVar18;" type_identifier (pointer_declarator "*pFVar18" * identifier) ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "sqlite3 *psVar20;" type_identifier (pointer_declarator "*psVar20" * identifier) ;) (declaration "Vdbe *pVVar21;" type_identifier (pointer_declarator "*pVVar21" * identifier) ;) (declaration "char **ppcVar22;" primitive_type (pointer_declarator "**ppcVar22" * (pointer_declarator "*ppcVar22" * identifier)) ;) (declaration "_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *p_Var23;" type_identifier (pointer_declarator "*p_Var23" * identifier) ;) (declaration "Vdbe **ppVVar24;" type_identifier (pointer_declarator "**ppVVar24" * (pointer_declarator "*ppVVar24" * identifier)) ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "byte bVar26;" type_identifier identifier ;) (declaration "u8 *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "u32 *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "sqlite3 *psVar29;" type_identifier (pointer_declarator "*psVar29" * identifier) ;) (declaration "sqlite3_module *psVar30;" type_identifier (pointer_declarator "*psVar30" * identifier) ;) (declaration "sqlite3 *psVar31;" type_identifier (pointer_declarator "*psVar31" * identifier) ;) (declaration "CollSeq *pCVar32;" type_identifier (pointer_declarator "*pCVar32" * identifier) ;) (declaration "sqlite3 *psVar33;" type_identifier (pointer_declarator "*psVar33" * identifier) ;) (declaration "byte *pbVar34;" type_identifier (pointer_declarator "*pbVar34" * identifier) ;) (declaration "sqlite3 *psVar35;" type_identifier (pointer_declarator "*psVar35" * identifier) ;) (declaration "sqlite3 *argv;" type_identifier (pointer_declarator "*argv" * identifier) ;) (declaration "byte *pbVar36;" type_identifier (pointer_declarator "*pbVar36" * identifier) ;) (declaration "undefined1 *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "Fts3Table *p_00;" type_identifier (pointer_declarator "*p_00" * identifier) ;) (declaration "sqlite3 *psVar38;" type_identifier (pointer_declarator "*psVar38" * identifier) ;) (declaration "u32 uVar39;" type_identifier identifier ;) (declaration "Db *pDVar40;" type_identifier (pointer_declarator "*pDVar40" * identifier) ;) (declaration "sqlite3 *psVar41;" type_identifier (pointer_declarator "*psVar41" * identifier) ;) (declaration "sqlite3 *psVar42;" type_identifier (pointer_declarator "*psVar42" * identifier) ;) (declaration "sqlite3 *psVar43;" type_identifier (pointer_declarator "*psVar43" * identifier) ;) (declaration "sqlite3 *psVar44;" type_identifier (pointer_declarator "*psVar44" * identifier) ;) (declaration "undefined4 *puVar45;" type_identifier (pointer_declarator "*puVar45" * identifier) ;) (declaration "int iVar46;" primitive_type identifier ;) (declaration "Schema **unaff_s3;" type_identifier (pointer_declarator "**unaff_s3" * (pointer_declarator "*unaff_s3" * identifier)) ;) (declaration "char *pcVar47;" primitive_type (pointer_declarator "*pcVar47" * identifier) ;) (declaration "u32 uVar48;" type_identifier identifier ;) (declaration "sqlite3 *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "sqlite3 *psVar49;" type_identifier (pointer_declarator "*psVar49" * identifier) ;) (declaration "sqlite3 *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "sqlite3 *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined *puVar50;" type_identifier (pointer_declarator "*puVar50" * identifier) ;) (declaration "code *pcVar51;" type_identifier (pointer_declarator "*pcVar51" * identifier) ;) (declaration "HashElem *pHVar52;" type_identifier (pointer_declarator "*pHVar52" * identifier) ;) (declaration "HashElem *pHVar53;" type_identifier (pointer_declarator "*pHVar53" * identifier) ;) (declaration "code *pcVar54;" type_identifier (pointer_declarator "*pcVar54" * identifier) ;) (declaration "sqlite3 *unaff_s8;" type_identifier (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "char *pcVar55;" primitive_type (pointer_declarator "*pcVar55" * identifier) ;) (declaration "code *pcVar56;" type_identifier (pointer_declarator "*pcVar56" * identifier) ;) (declaration "code *pcVar57;" type_identifier (pointer_declarator "*pcVar57" * identifier) ;) (declaration "undefined8 uVar58;" type_identifier identifier ;) (declaration "sqlite3_vtab **in_stack_fffffd68;" type_identifier (pointer_declarator "**in_stack_fffffd68" * (pointer_declarator "*in_stack_fffffd68" * identifier)) ;) (declaration "char **in_stack_fffffd6c;" primitive_type (pointer_declarator "**in_stack_fffffd6c" * (pointer_declarator "*in_stack_fffffd6c" * identifier)) ;) (declaration "int iStack_284;" primitive_type identifier ;) (declaration "int iStack_278;" primitive_type identifier ;) (declaration "Vdbe *pVStack_218;" type_identifier (pointer_declarator "*pVStack_218" * identifier) ;) (declaration "sqlite3_vfs *psStack_214;" type_identifier (pointer_declarator "*psStack_214" * identifier) ;) (declaration "Vdbe *pVStack_210;" type_identifier (pointer_declarator "*pVStack_210" * identifier) ;) (declaration "sqlite3_module *psStack_20c;" type_identifier (pointer_declarator "*psStack_20c" * identifier) ;) (declaration "Vdbe *pVStack_208;" type_identifier (pointer_declarator "*pVStack_208" * identifier) ;) (declaration "CollSeq *pCStack_204;" type_identifier (pointer_declarator "*pCStack_204" * identifier) ;) (declaration "sqlite3 *apsStack_200 [13];" type_identifier (pointer_declarator "*apsStack_200 [13]" * (array_declarator "apsStack_200 [13]" identifier [ number_literal ])) ;) (declaration "sqlite3 *psStack_1cc;" type_identifier (pointer_declarator "*psStack_1cc" * identifier) ;) (declaration "sqlite3 *psStack_1c8;" type_identifier (pointer_declarator "*psStack_1c8" * identifier) ;) (declaration "sqlite3 *psStack_1c4;" type_identifier (pointer_declarator "*psStack_1c4" * identifier) ;) (declaration "undefined4 *puStack_1c0;" type_identifier (pointer_declarator "*puStack_1c0" * identifier) ;) (declaration "sqlite3 *psStack_1bc;" type_identifier (pointer_declarator "*psStack_1bc" * identifier) ;) (declaration "sqlite3 *psStack_1b8;" type_identifier (pointer_declarator "*psStack_1b8" * identifier) ;) (declaration "sqlite3 *psStack_1b4;" type_identifier (pointer_declarator "*psStack_1b4" * identifier) ;) (declaration "sqlite3 *psStack_1b0;" type_identifier (pointer_declarator "*psStack_1b0" * identifier) ;) (declaration "sqlite3 *psStack_1ac;" type_identifier (pointer_declarator "*psStack_1ac" * identifier) ;) (declaration "sqlite3 *psStack_1a8;" type_identifier (pointer_declarator "*psStack_1a8" * identifier) ;) (declaration "code *pcStack_1a4;" type_identifier (pointer_declarator "*pcStack_1a4" * identifier) ;) (declaration "sqlite3 *psStack_1a0;" type_identifier (pointer_declarator "*psStack_1a0" * identifier) ;) (declaration "code *pcStack_190;" type_identifier (pointer_declarator "*pcStack_190" * identifier) ;) (declaration "undefined4 *puStack_18c;" type_identifier (pointer_declarator "*puStack_18c" * identifier) ;) (declaration "sqlite3 *psStack_188;" type_identifier (pointer_declarator "*psStack_188" * identifier) ;) (declaration "sqlite3 *psStack_184;" type_identifier (pointer_declarator "*psStack_184" * identifier) ;) (declaration "HashElem *pHStack_17c;" type_identifier (pointer_declarator "*pHStack_17c" * identifier) ;) (declaration "sqlite3 *psStack_178;" type_identifier (pointer_declarator "*psStack_178" * identifier) ;) (declaration "sqlite3 *psStack_174;" type_identifier (pointer_declarator "*psStack_174" * identifier) ;) (declaration "sqlite3 *psStack_170;" type_identifier (pointer_declarator "*psStack_170" * identifier) ;) (declaration "sqlite3 *psStack_16c;" type_identifier (pointer_declarator "*psStack_16c" * identifier) ;) (declaration "sqlite3 *psStack_168;" type_identifier (pointer_declarator "*psStack_168" * identifier) ;) (declaration "code *pcStack_164;" type_identifier (pointer_declarator "*pcStack_164" * identifier) ;) (declaration "void **ppvStack_150;" primitive_type (pointer_declarator "**ppvStack_150" * (pointer_declarator "*ppvStack_150" * identifier)) ;) (declaration "void **ppvStack_148;" primitive_type (pointer_declarator "**ppvStack_148" * (pointer_declarator "*ppvStack_148" * identifier)) ;) (declaration "sqlite3 *psStack_140;" type_identifier (pointer_declarator "*psStack_140" * identifier) ;) (declaration "_func_int_void_ptr *p_Stack_13c;" type_identifier (pointer_declarator "*p_Stack_13c" * identifier) ;) (declaration "_func_int_void_ptr *p_Stack_138;" type_identifier (pointer_declarator "*p_Stack_138" * identifier) ;) (declaration "_func_int_void_ptr *p_Stack_134;" type_identifier (pointer_declarator "*p_Stack_134" * identifier) ;) (declaration "sqlite3_vfs *psStack_12c;" type_identifier (pointer_declarator "*psStack_12c" * identifier) ;) (declaration "undefined1 auStack_128 [4];" type_identifier (array_declarator "auStack_128 [4]" identifier [ number_literal ]) ;) (declaration "sqlite3_module *psStack_124;" type_identifier (pointer_declarator "*psStack_124" * identifier) ;) (declaration "PreUpdate *pPStack_11c;" type_identifier (pointer_declarator "*pPStack_11c" * identifier) ;) (declaration "sqlite3 *psStack_118;" type_identifier (pointer_declarator "*psStack_118" * identifier) ;) (declaration "sqlite3 *psStack_114;" type_identifier (pointer_declarator "*psStack_114" * identifier) ;) (declaration "sqlite3 *psStack_110;" type_identifier (pointer_declarator "*psStack_110" * identifier) ;) (declaration "sqlite3 *psStack_10c;" type_identifier (pointer_declarator "*psStack_10c" * identifier) ;) (declaration "sqlite3 *psStack_108;" type_identifier (pointer_declarator "*psStack_108" * identifier) ;) (declaration "undefined4 uStack_104;" type_identifier identifier ;) (declaration "HashElem *pHStack_e0;" type_identifier (pointer_declarator "*pHStack_e0" * identifier) ;) (declaration "sqlite3 *psStack_c8;" type_identifier (pointer_declarator "*psStack_c8" * identifier) ;) (declaration "Vdbe *pVStack_c4;" type_identifier (pointer_declarator "*pVStack_c4" * identifier) ;) (declaration "Fts3Table *pFStack_c0;" type_identifier (pointer_declarator "*pFStack_c0" * identifier) ;) (declaration "sqlite3 *psStack_bc;" type_identifier (pointer_declarator "*psStack_bc" * identifier) ;) (declaration "Db *pDStack_b8;" type_identifier (pointer_declarator "*pDStack_b8" * identifier) ;) (declaration "sqlite3 *psStack_b4;" type_identifier (pointer_declarator "*psStack_b4" * identifier) ;) (declaration "sqlite3 *psStack_b0;" type_identifier (pointer_declarator "*psStack_b0" * identifier) ;) (declaration "HashElem *pHStack_ac;" type_identifier (pointer_declarator "*pHStack_ac" * identifier) ;) (declaration "HashElem *pHStack_98;" type_identifier (pointer_declarator "*pHStack_98" * identifier) ;) (declaration "sqlite3 *psStack_90;" type_identifier (pointer_declarator "*psStack_90" * identifier) ;) (declaration "sqlite3 *psStack_8c;" type_identifier (pointer_declarator "*psStack_8c" * identifier) ;) (declaration "sqlite3 *psStack_84;" type_identifier (pointer_declarator "*psStack_84" * identifier) ;) (declaration "Db *pDStack_80;" type_identifier (pointer_declarator "*pDStack_80" * identifier) ;) (declaration "sqlite3 *psStack_7c;" type_identifier (pointer_declarator "*psStack_7c" * identifier) ;) (declaration "undefined4 uStack_78;" type_identifier identifier ;) (declaration "Schema *pSStack_50;" type_identifier (pointer_declarator "*pSStack_50" * identifier) ;) (declaration "Fts3Table *pFStack_4c;" type_identifier (pointer_declarator "*pFStack_4c" * identifier) ;) (declaration "_func_void_void_ptr_int_char_ptr_char_ptr_sqlite_int64 *p_Stack_44;" type_identifier (pointer_declarator "*p_Stack_44" * identifier) ;) (declaration "_func_int_void_ptr *p_Stack_40;" type_identifier (pointer_declarator "*p_Stack_40" * identifier) ;) (declaration "sqlite3_stmt *pStmt;" type_identifier (pointer_declarator "*pStmt" * identifier) ;) (declaration "sqlite3 *psStack_14;" type_identifier (pointer_declarator "*psStack_14" * identifier) ;) (expression_statement "puVar3 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar3 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "psVar31 = (sqlite3 *)&pStmt;" (assignment_expression "psVar31 = (sqlite3 *)&pStmt" identifier = (cast_expression "(sqlite3 *)&pStmt" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pStmt" & identifier))) ;) (expression_statement "psStack_14 = *(sqlite3 **)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "psStack_14 = *(sqlite3 **)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(sqlite3 **)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(sqlite3 **)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar5 = fts3SqlStmt(p,eStmt,(sqlite3_stmt **)psVar31,apVal);" (assignment_expression "iVar5 = fts3SqlStmt(p,eStmt,(sqlite3_stmt **)psVar31,apVal)" identifier = (call_expression "fts3SqlStmt(p,eStmt,(sqlite3_stmt **)psVar31,apVal)" identifier (argument_list "(p,eStmt,(sqlite3_stmt **)psVar31,apVal)" ( identifier , identifier , (cast_expression "(sqlite3_stmt **)psVar31" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , identifier )))) ;) (if_statement "if (iVar5 == 0) {\n    (*(code *)PTR_sqlite3_step_0015b630)(pStmt);\n    iVar5 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    p = (Fts3Table *)pStmt;\n  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR_sqlite3_step_0015b630)(pStmt);\n    iVar5 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    p = (Fts3Table *)pStmt;\n  }" { (expression_statement "(*(code *)PTR_sqlite3_step_0015b630)(pStmt);" (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(pStmt)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pStmt)" ( identifier ))) ;) (expression_statement "iVar5 = (*(code *)PTR_sqlite3_reset_0015b648)();" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_reset_0015b648)()" identifier = (call_expression "(*(code *)PTR_sqlite3_reset_0015b648)()" (parenthesized_expression "(*(code *)PTR_sqlite3_reset_0015b648)" ( (pointer_expression "*(code *)PTR_sqlite3_reset_0015b648" * (cast_expression "(code *)PTR_sqlite3_reset_0015b648" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "p = (Fts3Table *)pStmt;" (assignment_expression "p = (Fts3Table *)pStmt" identifier = (cast_expression "(Fts3Table *)pStmt" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "*pRC = iVar5;" (assignment_expression "*pRC = iVar5" (pointer_expression "*pRC" * identifier) = identifier) ;) (if_statement "if (psStack_14 == *(sqlite3 **)puVar3) {\n    return;\n  }" if (parenthesized_expression "(psStack_14 == *(sqlite3 **)puVar3)" ( (binary_expression "psStack_14 == *(sqlite3 **)puVar3" identifier == (pointer_expression "*(sqlite3 **)puVar3" * (cast_expression "(sqlite3 **)puVar3" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar50 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar50 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "p_Stack_44 = (_func_void_void_ptr_int_char_ptr_char_ptr_sqlite_int64 *)puVar3;" (assignment_expression "p_Stack_44 = (_func_void_void_ptr_int_char_ptr_char_ptr_sqlite_int64 *)puVar3" identifier = (cast_expression "(_func_void_void_ptr_int_char_ptr_char_ptr_sqlite_int64 *)puVar3" ( (type_descriptor "_func_void_void_ptr_int_char_ptr_char_ptr_sqlite_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pDVar40 = *(Db **)(puVar50 + 0x549c8);" (assignment_expression "pDVar40 = *(Db **)(puVar50 + 0x549c8)" identifier = (pointer_expression "*(Db **)(puVar50 + 0x549c8)" * (cast_expression "(Db **)(puVar50 + 0x549c8)" ( (type_descriptor "Db **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar50 + 0x549c8)" ( (binary_expression "puVar50 + 0x549c8" identifier + number_literal) ))))) ;) (expression_statement "pSStack_50 = (Schema *)0x0;" (assignment_expression "pSStack_50 = (Schema *)0x0" identifier = (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pFStack_4c = (Fts3Table *)pDVar40->zDbSName;" (assignment_expression "pFStack_4c = (Fts3Table *)pDVar40->zDbSName" identifier = (cast_expression "(Fts3Table *)pDVar40->zDbSName" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar40->zDbSName" identifier -> field_identifier))) ;) (expression_statement "psVar43 = (sqlite3 *)eStmt;" (assignment_expression "psVar43 = (sqlite3 *)eStmt" identifier = (cast_expression "(sqlite3 *)eStmt" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "p_Stack_40 = (_func_int_void_ptr *)pRC;" (assignment_expression "p_Stack_40 = (_func_int_void_ptr *)pRC" identifier = (cast_expression "(_func_int_void_ptr *)pRC" ( (type_descriptor "_func_int_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*(code *)(*(int *)(puVar50 + 0x54674) + -0x38a4))();" (call_expression "(*(code *)(*(int *)(puVar50 + 0x54674) + -0x38a4))()" (parenthesized_expression "(*(code *)(*(int *)(puVar50 + 0x54674) + -0x38a4))" ( (pointer_expression "*(code *)(*(int *)(puVar50 + 0x54674) + -0x38a4)" * (cast_expression "(code *)(*(int *)(puVar50 + 0x54674) + -0x38a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar50 + 0x54674) + -0x38a4)" ( (binary_expression "*(int *)(puVar50 + 0x54674) + -0x38a4" (pointer_expression "*(int *)(puVar50 + 0x54674)" * (cast_expression "(int *)(puVar50 + 0x54674)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar50 + 0x54674)" ( (binary_expression "puVar50 + 0x54674" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (if_statement "if ((sqlite3 *)eStmt == (sqlite3 *)0x0) {\nLAB_00107118:\n    eStmt = *(int *)(puVar50 + 0x5466c);\n    if (pSStack_50 != (Schema *)0x0) goto LAB_001070c8;\n    unaff_s3 = &pSStack_50;\n    apVal = (sqlite3_value **)0x0;\n    psVar31 = (sqlite3 *)0x3;\n    eStmt = (int)&((sqlite3 *)(eStmt + 0x6e00))->aDbStatic[1].pBt;\n    psVar43 = (sqlite3 *)p;\n    fts3SqlExec((int *)unaff_s3,p,3,(sqlite3_value **)0x0);\n    if (pSStack_50 == (Schema *)0x0) {\n      apVal = (sqlite3_value **)0x0;\n      psVar31 = (sqlite3 *)&DAT_00000004;\n      psVar43 = (sqlite3 *)p;\n      fts3SqlExec((int *)unaff_s3,p,4,(sqlite3_value **)0x0);\n      if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) != '\0') {\n        apVal = (sqlite3_value **)0x0;\n        if (pSStack_50 != (Schema *)0x0) goto LAB_001070d4;\n        psVar31 = (sqlite3 *)&DAT_00000005;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)unaff_s3,p,5,(sqlite3_value **)0x0);\n      }\n      goto LAB_0010719c;\n    }\n  }\n  else {\n    if (pSStack_50 == (Schema *)0x0) {\n      apVal = (sqlite3_value **)0x0;\n      psVar31 = (sqlite3 *)0x2;\n      psVar43 = (sqlite3 *)p;\n      fts3SqlExec((int *)&pSStack_50,p,2,(sqlite3_value **)0x0);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) == '\0') {\nLAB_0010719c:\n      if ((*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1) != '\0') &&\n         (pSStack_50 == (Schema *)0x0)) {\n        apVal = (sqlite3_value **)0x0;\n        psVar31 = (sqlite3 *)&DAT_00000006;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)&pSStack_50,p,6,(sqlite3_value **)0x0);\n      }\n    }\n  }" if (parenthesized_expression "((sqlite3 *)eStmt == (sqlite3 *)0x0)" ( (binary_expression "(sqlite3 *)eStmt == (sqlite3 *)0x0" (cast_expression "(sqlite3 *)eStmt" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00107118:\n    eStmt = *(int *)(puVar50 + 0x5466c);\n    if (pSStack_50 != (Schema *)0x0) goto LAB_001070c8;\n    unaff_s3 = &pSStack_50;\n    apVal = (sqlite3_value **)0x0;\n    psVar31 = (sqlite3 *)0x3;\n    eStmt = (int)&((sqlite3 *)(eStmt + 0x6e00))->aDbStatic[1].pBt;\n    psVar43 = (sqlite3 *)p;\n    fts3SqlExec((int *)unaff_s3,p,3,(sqlite3_value **)0x0);\n    if (pSStack_50 == (Schema *)0x0) {\n      apVal = (sqlite3_value **)0x0;\n      psVar31 = (sqlite3 *)&DAT_00000004;\n      psVar43 = (sqlite3 *)p;\n      fts3SqlExec((int *)unaff_s3,p,4,(sqlite3_value **)0x0);\n      if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) != '\0') {\n        apVal = (sqlite3_value **)0x0;\n        if (pSStack_50 != (Schema *)0x0) goto LAB_001070d4;\n        psVar31 = (sqlite3 *)&DAT_00000005;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)unaff_s3,p,5,(sqlite3_value **)0x0);\n      }\n      goto LAB_0010719c;\n    }\n  }" { (labeled_statement "LAB_00107118:\n    eStmt = *(int *)(puVar50 + 0x5466c);" statement_identifier : (expression_statement "eStmt = *(int *)(puVar50 + 0x5466c);" (assignment_expression "eStmt = *(int *)(puVar50 + 0x5466c)" identifier = (pointer_expression "*(int *)(puVar50 + 0x5466c)" * (cast_expression "(int *)(puVar50 + 0x5466c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar50 + 0x5466c)" ( (binary_expression "puVar50 + 0x5466c" identifier + number_literal) ))))) ;)) (if_statement "if (pSStack_50 != (Schema *)0x0) goto LAB_001070c8;" if (parenthesized_expression "(pSStack_50 != (Schema *)0x0)" ( (binary_expression "pSStack_50 != (Schema *)0x0" identifier != (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001070c8;" goto statement_identifier ;)) (expression_statement "unaff_s3 = &pSStack_50;" (assignment_expression "unaff_s3 = &pSStack_50" identifier = (pointer_expression "&pSStack_50" & identifier)) ;) (expression_statement "apVal = (sqlite3_value **)0x0;" (assignment_expression "apVal = (sqlite3_value **)0x0" identifier = (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "psVar31 = (sqlite3 *)0x3;" (assignment_expression "psVar31 = (sqlite3 *)0x3" identifier = (cast_expression "(sqlite3 *)0x3" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "eStmt = (int)&((sqlite3 *)(eStmt + 0x6e00))->aDbStatic[1].pBt;" (assignment_expression "eStmt = (int)&((sqlite3 *)(eStmt + 0x6e00))->aDbStatic[1].pBt" identifier = (cast_expression "(int)&((sqlite3 *)(eStmt + 0x6e00))->aDbStatic[1].pBt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((sqlite3 *)(eStmt + 0x6e00))->aDbStatic[1].pBt" & (field_expression "((sqlite3 *)(eStmt + 0x6e00))->aDbStatic[1].pBt" (subscript_expression "((sqlite3 *)(eStmt + 0x6e00))->aDbStatic[1]" (field_expression "((sqlite3 *)(eStmt + 0x6e00))->aDbStatic" (parenthesized_expression "((sqlite3 *)(eStmt + 0x6e00))" ( (cast_expression "(sqlite3 *)(eStmt + 0x6e00)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(eStmt + 0x6e00)" ( (binary_expression "eStmt + 0x6e00" identifier + number_literal) ))) )) -> field_identifier) [ number_literal ]) . field_identifier)))) ;) (expression_statement "psVar43 = (sqlite3 *)p;" (assignment_expression "psVar43 = (sqlite3 *)p" identifier = (cast_expression "(sqlite3 *)p" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "fts3SqlExec((int *)unaff_s3,p,3,(sqlite3_value **)0x0);" (call_expression "fts3SqlExec((int *)unaff_s3,p,3,(sqlite3_value **)0x0)" identifier (argument_list "((int *)unaff_s3,p,3,(sqlite3_value **)0x0)" ( (cast_expression "(int *)unaff_s3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , number_literal , (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))) ;) (if_statement "if (pSStack_50 == (Schema *)0x0) {\n      apVal = (sqlite3_value **)0x0;\n      psVar31 = (sqlite3 *)&DAT_00000004;\n      psVar43 = (sqlite3 *)p;\n      fts3SqlExec((int *)unaff_s3,p,4,(sqlite3_value **)0x0);\n      if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) != '\0') {\n        apVal = (sqlite3_value **)0x0;\n        if (pSStack_50 != (Schema *)0x0) goto LAB_001070d4;\n        psVar31 = (sqlite3 *)&DAT_00000005;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)unaff_s3,p,5,(sqlite3_value **)0x0);\n      }\n      goto LAB_0010719c;\n    }" if (parenthesized_expression "(pSStack_50 == (Schema *)0x0)" ( (binary_expression "pSStack_50 == (Schema *)0x0" identifier == (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      apVal = (sqlite3_value **)0x0;\n      psVar31 = (sqlite3 *)&DAT_00000004;\n      psVar43 = (sqlite3 *)p;\n      fts3SqlExec((int *)unaff_s3,p,4,(sqlite3_value **)0x0);\n      if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) != '\0') {\n        apVal = (sqlite3_value **)0x0;\n        if (pSStack_50 != (Schema *)0x0) goto LAB_001070d4;\n        psVar31 = (sqlite3 *)&DAT_00000005;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)unaff_s3,p,5,(sqlite3_value **)0x0);\n      }\n      goto LAB_0010719c;\n    }" { (expression_statement "apVal = (sqlite3_value **)0x0;" (assignment_expression "apVal = (sqlite3_value **)0x0" identifier = (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "psVar31 = (sqlite3 *)&DAT_00000004;" (assignment_expression "psVar31 = (sqlite3 *)&DAT_00000004" identifier = (cast_expression "(sqlite3 *)&DAT_00000004" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) (expression_statement "psVar43 = (sqlite3 *)p;" (assignment_expression "psVar43 = (sqlite3 *)p" identifier = (cast_expression "(sqlite3 *)p" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "fts3SqlExec((int *)unaff_s3,p,4,(sqlite3_value **)0x0);" (call_expression "fts3SqlExec((int *)unaff_s3,p,4,(sqlite3_value **)0x0)" identifier (argument_list "((int *)unaff_s3,p,4,(sqlite3_value **)0x0)" ( (cast_expression "(int *)unaff_s3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , number_literal , (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))) ;) (if_statement "if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) != '\0') {\n        apVal = (sqlite3_value **)0x0;\n        if (pSStack_50 != (Schema *)0x0) goto LAB_001070d4;\n        psVar31 = (sqlite3 *)&DAT_00000005;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)unaff_s3,p,5,(sqlite3_value **)0x0);\n      }" if (parenthesized_expression "(*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) != '\0')" ( (binary_expression "*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) != '\0'" (pointer_expression "*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2)" * (cast_expression "(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((sqlite3 *)p)->xUpdateCallback + 2)" ( (binary_expression "(int)&((sqlite3 *)p)->xUpdateCallback + 2" (cast_expression "(int)&((sqlite3 *)p)->xUpdateCallback" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((sqlite3 *)p)->xUpdateCallback" & (field_expression "((sqlite3 *)p)->xUpdateCallback" (parenthesized_expression "((sqlite3 *)p)" ( (cast_expression "(sqlite3 *)p" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        apVal = (sqlite3_value **)0x0;\n        if (pSStack_50 != (Schema *)0x0) goto LAB_001070d4;\n        psVar31 = (sqlite3 *)&DAT_00000005;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)unaff_s3,p,5,(sqlite3_value **)0x0);\n      }" { (expression_statement "apVal = (sqlite3_value **)0x0;" (assignment_expression "apVal = (sqlite3_value **)0x0" identifier = (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (pSStack_50 != (Schema *)0x0) goto LAB_001070d4;" if (parenthesized_expression "(pSStack_50 != (Schema *)0x0)" ( (binary_expression "pSStack_50 != (Schema *)0x0" identifier != (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001070d4;" goto statement_identifier ;)) (expression_statement "psVar31 = (sqlite3 *)&DAT_00000005;" (assignment_expression "psVar31 = (sqlite3 *)&DAT_00000005" identifier = (cast_expression "(sqlite3 *)&DAT_00000005" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000005" & identifier))) ;) (expression_statement "psVar43 = (sqlite3 *)p;" (assignment_expression "psVar43 = (sqlite3 *)p" identifier = (cast_expression "(sqlite3 *)p" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "fts3SqlExec((int *)unaff_s3,p,5,(sqlite3_value **)0x0);" (call_expression "fts3SqlExec((int *)unaff_s3,p,5,(sqlite3_value **)0x0)" identifier (argument_list "((int *)unaff_s3,p,5,(sqlite3_value **)0x0)" ( (cast_expression "(int *)unaff_s3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , number_literal , (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))) ;) })) (goto_statement "goto LAB_0010719c;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (pSStack_50 == (Schema *)0x0) {\n      apVal = (sqlite3_value **)0x0;\n      psVar31 = (sqlite3 *)0x2;\n      psVar43 = (sqlite3 *)p;\n      fts3SqlExec((int *)&pSStack_50,p,2,(sqlite3_value **)0x0);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) == '\0') {\nLAB_0010719c:\n      if ((*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1) != '\0') &&\n         (pSStack_50 == (Schema *)0x0)) {\n        apVal = (sqlite3_value **)0x0;\n        psVar31 = (sqlite3 *)&DAT_00000006;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)&pSStack_50,p,6,(sqlite3_value **)0x0);\n      }\n    }\n  }" else (compound_statement "{\n    if (pSStack_50 == (Schema *)0x0) {\n      apVal = (sqlite3_value **)0x0;\n      psVar31 = (sqlite3 *)0x2;\n      psVar43 = (sqlite3 *)p;\n      fts3SqlExec((int *)&pSStack_50,p,2,(sqlite3_value **)0x0);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) == '\0') {\nLAB_0010719c:\n      if ((*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1) != '\0') &&\n         (pSStack_50 == (Schema *)0x0)) {\n        apVal = (sqlite3_value **)0x0;\n        psVar31 = (sqlite3 *)&DAT_00000006;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)&pSStack_50,p,6,(sqlite3_value **)0x0);\n      }\n    }\n  }" { (if_statement "if (pSStack_50 == (Schema *)0x0) {\n      apVal = (sqlite3_value **)0x0;\n      psVar31 = (sqlite3 *)0x2;\n      psVar43 = (sqlite3 *)p;\n      fts3SqlExec((int *)&pSStack_50,p,2,(sqlite3_value **)0x0);\n      goto LAB_00107118;\n    }" if (parenthesized_expression "(pSStack_50 == (Schema *)0x0)" ( (binary_expression "pSStack_50 == (Schema *)0x0" identifier == (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      apVal = (sqlite3_value **)0x0;\n      psVar31 = (sqlite3 *)0x2;\n      psVar43 = (sqlite3 *)p;\n      fts3SqlExec((int *)&pSStack_50,p,2,(sqlite3_value **)0x0);\n      goto LAB_00107118;\n    }" { (expression_statement "apVal = (sqlite3_value **)0x0;" (assignment_expression "apVal = (sqlite3_value **)0x0" identifier = (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "psVar31 = (sqlite3 *)0x2;" (assignment_expression "psVar31 = (sqlite3 *)0x2" identifier = (cast_expression "(sqlite3 *)0x2" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar43 = (sqlite3 *)p;" (assignment_expression "psVar43 = (sqlite3 *)p" identifier = (cast_expression "(sqlite3 *)p" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "fts3SqlExec((int *)&pSStack_50,p,2,(sqlite3_value **)0x0);" (call_expression "fts3SqlExec((int *)&pSStack_50,p,2,(sqlite3_value **)0x0)" identifier (argument_list "((int *)&pSStack_50,p,2,(sqlite3_value **)0x0)" ( (cast_expression "(int *)&pSStack_50" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSStack_50" & identifier)) , identifier , number_literal , (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))) ;) (goto_statement "goto LAB_00107118;" goto statement_identifier ;) })) (labeled_statement "LAB_001070c8:\n    if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) == '\0') {\nLAB_0010719c:\n      if ((*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1) != '\0') &&\n         (pSStack_50 == (Schema *)0x0)) {\n        apVal = (sqlite3_value **)0x0;\n        psVar31 = (sqlite3 *)&DAT_00000006;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)&pSStack_50,p,6,(sqlite3_value **)0x0);\n      }\n    }" statement_identifier : (if_statement "if (*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) == '\0') {\nLAB_0010719c:\n      if ((*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1) != '\0') &&\n         (pSStack_50 == (Schema *)0x0)) {\n        apVal = (sqlite3_value **)0x0;\n        psVar31 = (sqlite3 *)&DAT_00000006;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)&pSStack_50,p,6,(sqlite3_value **)0x0);\n      }\n    }" if (parenthesized_expression "(*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) == '\0')" ( (binary_expression "*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2) == '\0'" (pointer_expression "*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2)" * (cast_expression "(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 2)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((sqlite3 *)p)->xUpdateCallback + 2)" ( (binary_expression "(int)&((sqlite3 *)p)->xUpdateCallback + 2" (cast_expression "(int)&((sqlite3 *)p)->xUpdateCallback" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((sqlite3 *)p)->xUpdateCallback" & (field_expression "((sqlite3 *)p)->xUpdateCallback" (parenthesized_expression "((sqlite3 *)p)" ( (cast_expression "(sqlite3 *)p" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0010719c:\n      if ((*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1) != '\0') &&\n         (pSStack_50 == (Schema *)0x0)) {\n        apVal = (sqlite3_value **)0x0;\n        psVar31 = (sqlite3 *)&DAT_00000006;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)&pSStack_50,p,6,(sqlite3_value **)0x0);\n      }\n    }" { (labeled_statement "LAB_0010719c:\n      if ((*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1) != '\0') &&\n         (pSStack_50 == (Schema *)0x0)) {\n        apVal = (sqlite3_value **)0x0;\n        psVar31 = (sqlite3 *)&DAT_00000006;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)&pSStack_50,p,6,(sqlite3_value **)0x0);\n      }" statement_identifier : (if_statement "if ((*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1) != '\0') &&\n         (pSStack_50 == (Schema *)0x0)) {\n        apVal = (sqlite3_value **)0x0;\n        psVar31 = (sqlite3 *)&DAT_00000006;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)&pSStack_50,p,6,(sqlite3_value **)0x0);\n      }" if (parenthesized_expression "((*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1) != '\0') &&\n         (pSStack_50 == (Schema *)0x0))" ( (binary_expression "(*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1) != '\0') &&\n         (pSStack_50 == (Schema *)0x0)" (parenthesized_expression "(*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1) != '\0')" ( (binary_expression "*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1) != '\0'" (pointer_expression "*(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1)" * (cast_expression "(u8 *)((int)&((sqlite3 *)p)->xUpdateCallback + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((sqlite3 *)p)->xUpdateCallback + 1)" ( (binary_expression "(int)&((sqlite3 *)p)->xUpdateCallback + 1" (cast_expression "(int)&((sqlite3 *)p)->xUpdateCallback" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((sqlite3 *)p)->xUpdateCallback" & (field_expression "((sqlite3 *)p)->xUpdateCallback" (parenthesized_expression "((sqlite3 *)p)" ( (cast_expression "(sqlite3 *)p" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(pSStack_50 == (Schema *)0x0)" ( (binary_expression "pSStack_50 == (Schema *)0x0" identifier == (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        apVal = (sqlite3_value **)0x0;\n        psVar31 = (sqlite3 *)&DAT_00000006;\n        psVar43 = (sqlite3 *)p;\n        fts3SqlExec((int *)&pSStack_50,p,6,(sqlite3_value **)0x0);\n      }" { (expression_statement "apVal = (sqlite3_value **)0x0;" (assignment_expression "apVal = (sqlite3_value **)0x0" identifier = (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "psVar31 = (sqlite3 *)&DAT_00000006;" (assignment_expression "psVar31 = (sqlite3 *)&DAT_00000006" identifier = (cast_expression "(sqlite3 *)&DAT_00000006" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000006" & identifier))) ;) (expression_statement "psVar43 = (sqlite3 *)p;" (assignment_expression "psVar43 = (sqlite3 *)p" identifier = (cast_expression "(sqlite3 *)p" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "fts3SqlExec((int *)&pSStack_50,p,6,(sqlite3_value **)0x0);" (call_expression "fts3SqlExec((int *)&pSStack_50,p,6,(sqlite3_value **)0x0)" identifier (argument_list "((int *)&pSStack_50,p,6,(sqlite3_value **)0x0)" ( (cast_expression "(int *)&pSStack_50" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSStack_50" & identifier)) , identifier , number_literal , (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))) ;) }))) }))) }))) (labeled_statement "LAB_001070d4:\n  if (pFStack_4c == (Fts3Table *)pDVar40->zDbSName) {\n    return;\n  }" statement_identifier : (if_statement "if (pFStack_4c == (Fts3Table *)pDVar40->zDbSName) {\n    return;\n  }" if (parenthesized_expression "(pFStack_4c == (Fts3Table *)pDVar40->zDbSName)" ( (binary_expression "pFStack_4c == (Fts3Table *)pDVar40->zDbSName" identifier == (cast_expression "(Fts3Table *)pDVar40->zDbSName" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar40->zDbSName" identifier -> field_identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pcVar51 = *(code **)(puVar50 + 0x549ac);" (assignment_expression "pcVar51 = *(code **)(puVar50 + 0x549ac)" identifier = (pointer_expression "*(code **)(puVar50 + 0x549ac)" * (cast_expression "(code **)(puVar50 + 0x549ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar50 + 0x549ac)" ( (binary_expression "puVar50 + 0x549ac" identifier + number_literal) ))))) ;) (expression_statement "p_00 = pFStack_4c;" (assignment_expression "p_00 = pFStack_4c" identifier = identifier) ;) (expression_statement "(*pcVar51)();" (call_expression "(*pcVar51)()" (parenthesized_expression "(*pcVar51)" ( (pointer_expression "*pcVar51" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pHStack_98 = (HashElem *)(pcVar51 + 0x5c3d0);" (assignment_expression "pHStack_98 = (HashElem *)(pcVar51 + 0x5c3d0)" identifier = (cast_expression "(HashElem *)(pcVar51 + 0x5c3d0)" ( (type_descriptor "HashElem *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar51 + 0x5c3d0)" ( (binary_expression "pcVar51 + 0x5c3d0" identifier + number_literal) )))) ;) (expression_statement "psVar41 = *(sqlite3 **)(pcVar51 + 0x5484c);" (assignment_expression "psVar41 = *(sqlite3 **)(pcVar51 + 0x5484c)" identifier = (pointer_expression "*(sqlite3 **)(pcVar51 + 0x5484c)" * (cast_expression "(sqlite3 **)(pcVar51 + 0x5484c)" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar51 + 0x5484c)" ( (binary_expression "pcVar51 + 0x5484c" identifier + number_literal) ))))) ;) (expression_statement "psStack_8c = (sqlite3 *)((sqlite3_vtab *)&psVar41->pVfs)->pModule;" (assignment_expression "psStack_8c = (sqlite3 *)((sqlite3_vtab *)&psVar41->pVfs)->pModule" identifier = (cast_expression "(sqlite3 *)((sqlite3_vtab *)&psVar41->pVfs)->pModule" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((sqlite3_vtab *)&psVar41->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar41->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar41->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar41->pVfs" & (field_expression "psVar41->pVfs" identifier -> field_identifier))) )) -> field_identifier))) ;) (expression_statement "psStack_84 = (sqlite3 *)p;" (assignment_expression "psStack_84 = (sqlite3 *)p" identifier = (cast_expression "(sqlite3 *)p" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pDStack_80 = pDVar40;" (assignment_expression "pDStack_80 = pDVar40" identifier = identifier) ;) (expression_statement "psStack_7c = (sqlite3 *)eStmt;" (assignment_expression "psStack_7c = (sqlite3 *)eStmt" identifier = (cast_expression "(sqlite3 *)eStmt" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uStack_78 = (int)unaff_s3;" (assignment_expression "uStack_78 = (int)unaff_s3" identifier = (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (p_00->zContentTbl == (char *)0x0) {\n    apVal = (sqlite3_value **)&psVar43->pVdbe;\n    psVar49 = (sqlite3 *)&psStack_90;\n    psVar20 = (sqlite3 *)0x12;\n    pDVar40 = (Db *)fts3SqlStmt(p_00,0x12,(sqlite3_stmt **)psVar49,apVal);\n    psVar38 = psStack_90;\n    if (pDVar40 == (Db *)0x0) {\n      iVar5 = p_00->nColumn;\n      if (p_00->zLanguageid != (char *)0x0) {\n        psVar49 = (sqlite3 *)(*(code *)pHStack_98[-0x7e8].prev)(psVar43->aLimit[iVar5 + -0x17]);\n        psVar20 = (sqlite3 *)(iVar5 + 2);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7d1].prev)(psVar38);\n        unaff_s5 = psVar38;\n        if (pDVar40 != (Db *)0x0) goto LAB_00107278;\n        iVar5 = p_00->nColumn;\n      }\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->aLimit[iVar5 + -0x18]);\n      if (iVar5 == 5) {\nLAB_001073c8:\n        (*(code *)pHStack_98[-0x7f8].next)(psStack_90);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7f7].data)(psStack_90);\n        uVar58 = (*(code *)pHStack_98[-0x7ec].next)(p_00->db);\n        psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);\n        psVar31->pVdbe = (Vdbe *)(int)uVar58;\n      }\n      else {\n        unaff_s5 = (sqlite3 *)\n                   (*(code *)pHStack_98[-0x7fc].data)(((sqlite3_vtab *)&psVar43->pVfs)->pModule);\n        if ((unaff_s5 == (sqlite3 *)&DAT_00000005) &&\n           (iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe), iVar5 != 5)) {\n          pDVar40 = (Db *)0x1;\n        }\n        else {\n          psVar20 = (sqlite3 *)0x1;\n          psVar43 = (sqlite3 *)(psVar43->aLimit + p_00->nColumn + -0x18);\n          psVar49 = (sqlite3 *)((sqlite3_vtab *)&psVar43->pVfs)->pModule;\n          pDVar40 = (Db *)(*(code *)pHStack_98[-0x7db].pKey)(psStack_90);\n          if (pDVar40 == (Db *)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }\n  else {\n    p_00 = (Fts3Table *)psVar43->aLimit[p_00->nColumn + -0x18];\n    psVar20 = psVar43;\n    psVar49 = psVar31;\n    iVar5 = (**(code **)(pcVar51 + 0x54418))(p_00);\n    if (iVar5 == 5) {\n      p_00 = (Fts3Table *)psVar43->pVdbe;\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);\n    }\n    else {\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);\n    }\n    if (iVar5 == 1) {\n      pDVar40 = (Db *)0x0;\n      uVar58 = (*(code *)pHStack_98[-0x7fb].data)(p_00);\n      psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);\n      psVar31->pVdbe = (Vdbe *)(int)uVar58;\n    }\n    else {\n      pDVar40 = (Db *)&DAT_00000013;\n    }\n  }" if (parenthesized_expression "(p_00->zContentTbl == (char *)0x0)" ( (binary_expression "p_00->zContentTbl == (char *)0x0" (field_expression "p_00->zContentTbl" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    apVal = (sqlite3_value **)&psVar43->pVdbe;\n    psVar49 = (sqlite3 *)&psStack_90;\n    psVar20 = (sqlite3 *)0x12;\n    pDVar40 = (Db *)fts3SqlStmt(p_00,0x12,(sqlite3_stmt **)psVar49,apVal);\n    psVar38 = psStack_90;\n    if (pDVar40 == (Db *)0x0) {\n      iVar5 = p_00->nColumn;\n      if (p_00->zLanguageid != (char *)0x0) {\n        psVar49 = (sqlite3 *)(*(code *)pHStack_98[-0x7e8].prev)(psVar43->aLimit[iVar5 + -0x17]);\n        psVar20 = (sqlite3 *)(iVar5 + 2);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7d1].prev)(psVar38);\n        unaff_s5 = psVar38;\n        if (pDVar40 != (Db *)0x0) goto LAB_00107278;\n        iVar5 = p_00->nColumn;\n      }\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->aLimit[iVar5 + -0x18]);\n      if (iVar5 == 5) {\nLAB_001073c8:\n        (*(code *)pHStack_98[-0x7f8].next)(psStack_90);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7f7].data)(psStack_90);\n        uVar58 = (*(code *)pHStack_98[-0x7ec].next)(p_00->db);\n        psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);\n        psVar31->pVdbe = (Vdbe *)(int)uVar58;\n      }\n      else {\n        unaff_s5 = (sqlite3 *)\n                   (*(code *)pHStack_98[-0x7fc].data)(((sqlite3_vtab *)&psVar43->pVfs)->pModule);\n        if ((unaff_s5 == (sqlite3 *)&DAT_00000005) &&\n           (iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe), iVar5 != 5)) {\n          pDVar40 = (Db *)0x1;\n        }\n        else {\n          psVar20 = (sqlite3 *)0x1;\n          psVar43 = (sqlite3 *)(psVar43->aLimit + p_00->nColumn + -0x18);\n          psVar49 = (sqlite3 *)((sqlite3_vtab *)&psVar43->pVfs)->pModule;\n          pDVar40 = (Db *)(*(code *)pHStack_98[-0x7db].pKey)(psStack_90);\n          if (pDVar40 == (Db *)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }" { (expression_statement "apVal = (sqlite3_value **)&psVar43->pVdbe;" (assignment_expression "apVal = (sqlite3_value **)&psVar43->pVdbe" identifier = (cast_expression "(sqlite3_value **)&psVar43->pVdbe" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar43->pVdbe" & (field_expression "psVar43->pVdbe" identifier -> field_identifier)))) ;) (expression_statement "psVar49 = (sqlite3 *)&psStack_90;" (assignment_expression "psVar49 = (sqlite3 *)&psStack_90" identifier = (cast_expression "(sqlite3 *)&psStack_90" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_90" & identifier))) ;) (expression_statement "psVar20 = (sqlite3 *)0x12;" (assignment_expression "psVar20 = (sqlite3 *)0x12" identifier = (cast_expression "(sqlite3 *)0x12" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pDVar40 = (Db *)fts3SqlStmt(p_00,0x12,(sqlite3_stmt **)psVar49,apVal);" (assignment_expression "pDVar40 = (Db *)fts3SqlStmt(p_00,0x12,(sqlite3_stmt **)psVar49,apVal)" identifier = (cast_expression "(Db *)fts3SqlStmt(p_00,0x12,(sqlite3_stmt **)psVar49,apVal)" ( (type_descriptor "Db *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "fts3SqlStmt(p_00,0x12,(sqlite3_stmt **)psVar49,apVal)" identifier (argument_list "(p_00,0x12,(sqlite3_stmt **)psVar49,apVal)" ( identifier , number_literal , (cast_expression "(sqlite3_stmt **)psVar49" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , identifier ))))) ;) (expression_statement "psVar38 = psStack_90;" (assignment_expression "psVar38 = psStack_90" identifier = identifier) ;) (if_statement "if (pDVar40 == (Db *)0x0) {\n      iVar5 = p_00->nColumn;\n      if (p_00->zLanguageid != (char *)0x0) {\n        psVar49 = (sqlite3 *)(*(code *)pHStack_98[-0x7e8].prev)(psVar43->aLimit[iVar5 + -0x17]);\n        psVar20 = (sqlite3 *)(iVar5 + 2);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7d1].prev)(psVar38);\n        unaff_s5 = psVar38;\n        if (pDVar40 != (Db *)0x0) goto LAB_00107278;\n        iVar5 = p_00->nColumn;\n      }\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->aLimit[iVar5 + -0x18]);\n      if (iVar5 == 5) {\nLAB_001073c8:\n        (*(code *)pHStack_98[-0x7f8].next)(psStack_90);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7f7].data)(psStack_90);\n        uVar58 = (*(code *)pHStack_98[-0x7ec].next)(p_00->db);\n        psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);\n        psVar31->pVdbe = (Vdbe *)(int)uVar58;\n      }\n      else {\n        unaff_s5 = (sqlite3 *)\n                   (*(code *)pHStack_98[-0x7fc].data)(((sqlite3_vtab *)&psVar43->pVfs)->pModule);\n        if ((unaff_s5 == (sqlite3 *)&DAT_00000005) &&\n           (iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe), iVar5 != 5)) {\n          pDVar40 = (Db *)0x1;\n        }\n        else {\n          psVar20 = (sqlite3 *)0x1;\n          psVar43 = (sqlite3 *)(psVar43->aLimit + p_00->nColumn + -0x18);\n          psVar49 = (sqlite3 *)((sqlite3_vtab *)&psVar43->pVfs)->pModule;\n          pDVar40 = (Db *)(*(code *)pHStack_98[-0x7db].pKey)(psStack_90);\n          if (pDVar40 == (Db *)0x0) goto LAB_001073c8;\n        }\n      }\n    }" if (parenthesized_expression "(pDVar40 == (Db *)0x0)" ( (binary_expression "pDVar40 == (Db *)0x0" identifier == (cast_expression "(Db *)0x0" ( (type_descriptor "Db *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar5 = p_00->nColumn;\n      if (p_00->zLanguageid != (char *)0x0) {\n        psVar49 = (sqlite3 *)(*(code *)pHStack_98[-0x7e8].prev)(psVar43->aLimit[iVar5 + -0x17]);\n        psVar20 = (sqlite3 *)(iVar5 + 2);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7d1].prev)(psVar38);\n        unaff_s5 = psVar38;\n        if (pDVar40 != (Db *)0x0) goto LAB_00107278;\n        iVar5 = p_00->nColumn;\n      }\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->aLimit[iVar5 + -0x18]);\n      if (iVar5 == 5) {\nLAB_001073c8:\n        (*(code *)pHStack_98[-0x7f8].next)(psStack_90);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7f7].data)(psStack_90);\n        uVar58 = (*(code *)pHStack_98[-0x7ec].next)(p_00->db);\n        psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);\n        psVar31->pVdbe = (Vdbe *)(int)uVar58;\n      }\n      else {\n        unaff_s5 = (sqlite3 *)\n                   (*(code *)pHStack_98[-0x7fc].data)(((sqlite3_vtab *)&psVar43->pVfs)->pModule);\n        if ((unaff_s5 == (sqlite3 *)&DAT_00000005) &&\n           (iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe), iVar5 != 5)) {\n          pDVar40 = (Db *)0x1;\n        }\n        else {\n          psVar20 = (sqlite3 *)0x1;\n          psVar43 = (sqlite3 *)(psVar43->aLimit + p_00->nColumn + -0x18);\n          psVar49 = (sqlite3 *)((sqlite3_vtab *)&psVar43->pVfs)->pModule;\n          pDVar40 = (Db *)(*(code *)pHStack_98[-0x7db].pKey)(psStack_90);\n          if (pDVar40 == (Db *)0x0) goto LAB_001073c8;\n        }\n      }\n    }" { (expression_statement "iVar5 = p_00->nColumn;" (assignment_expression "iVar5 = p_00->nColumn" identifier = (field_expression "p_00->nColumn" identifier -> field_identifier)) ;) (if_statement "if (p_00->zLanguageid != (char *)0x0) {\n        psVar49 = (sqlite3 *)(*(code *)pHStack_98[-0x7e8].prev)(psVar43->aLimit[iVar5 + -0x17]);\n        psVar20 = (sqlite3 *)(iVar5 + 2);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7d1].prev)(psVar38);\n        unaff_s5 = psVar38;\n        if (pDVar40 != (Db *)0x0) goto LAB_00107278;\n        iVar5 = p_00->nColumn;\n      }" if (parenthesized_expression "(p_00->zLanguageid != (char *)0x0)" ( (binary_expression "p_00->zLanguageid != (char *)0x0" (field_expression "p_00->zLanguageid" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        psVar49 = (sqlite3 *)(*(code *)pHStack_98[-0x7e8].prev)(psVar43->aLimit[iVar5 + -0x17]);\n        psVar20 = (sqlite3 *)(iVar5 + 2);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7d1].prev)(psVar38);\n        unaff_s5 = psVar38;\n        if (pDVar40 != (Db *)0x0) goto LAB_00107278;\n        iVar5 = p_00->nColumn;\n      }" { (expression_statement "psVar49 = (sqlite3 *)(*(code *)pHStack_98[-0x7e8].prev)(psVar43->aLimit[iVar5 + -0x17]);" (assignment_expression "psVar49 = (sqlite3 *)(*(code *)pHStack_98[-0x7e8].prev)(psVar43->aLimit[iVar5 + -0x17])" identifier = (cast_expression "(sqlite3 *)(*(code *)pHStack_98[-0x7e8].prev)(psVar43->aLimit[iVar5 + -0x17])" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pHStack_98[-0x7e8].prev)(psVar43->aLimit[iVar5 + -0x17])" (parenthesized_expression "(*(code *)pHStack_98[-0x7e8].prev)" ( (pointer_expression "*(code *)pHStack_98[-0x7e8].prev" * (cast_expression "(code *)pHStack_98[-0x7e8].prev" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHStack_98[-0x7e8].prev" (subscript_expression "pHStack_98[-0x7e8]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(psVar43->aLimit[iVar5 + -0x17])" ( (subscript_expression "psVar43->aLimit[iVar5 + -0x17]" (field_expression "psVar43->aLimit" identifier -> field_identifier) [ (binary_expression "iVar5 + -0x17" identifier + number_literal) ]) ))))) ;) (expression_statement "psVar20 = (sqlite3 *)(iVar5 + 2);" (assignment_expression "psVar20 = (sqlite3 *)(iVar5 + 2)" identifier = (cast_expression "(sqlite3 *)(iVar5 + 2)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 2)" ( (binary_expression "iVar5 + 2" identifier + number_literal) )))) ;) (expression_statement "pDVar40 = (Db *)(*(code *)pHStack_98[-0x7d1].prev)(psVar38);" (assignment_expression "pDVar40 = (Db *)(*(code *)pHStack_98[-0x7d1].prev)(psVar38)" identifier = (cast_expression "(Db *)(*(code *)pHStack_98[-0x7d1].prev)(psVar38)" ( (type_descriptor "Db *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pHStack_98[-0x7d1].prev)(psVar38)" (parenthesized_expression "(*(code *)pHStack_98[-0x7d1].prev)" ( (pointer_expression "*(code *)pHStack_98[-0x7d1].prev" * (cast_expression "(code *)pHStack_98[-0x7d1].prev" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHStack_98[-0x7d1].prev" (subscript_expression "pHStack_98[-0x7d1]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(psVar38)" ( identifier ))))) ;) (expression_statement "unaff_s5 = psVar38;" (assignment_expression "unaff_s5 = psVar38" identifier = identifier) ;) (if_statement "if (pDVar40 != (Db *)0x0) goto LAB_00107278;" if (parenthesized_expression "(pDVar40 != (Db *)0x0)" ( (binary_expression "pDVar40 != (Db *)0x0" identifier != (cast_expression "(Db *)0x0" ( (type_descriptor "Db *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00107278;" goto statement_identifier ;)) (expression_statement "iVar5 = p_00->nColumn;" (assignment_expression "iVar5 = p_00->nColumn" identifier = (field_expression "p_00->nColumn" identifier -> field_identifier)) ;) })) (expression_statement "iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->aLimit[iVar5 + -0x18]);" (assignment_expression "iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->aLimit[iVar5 + -0x18])" identifier = (call_expression "(*(code *)pHStack_98[-0x7fc].data)(psVar43->aLimit[iVar5 + -0x18])" (parenthesized_expression "(*(code *)pHStack_98[-0x7fc].data)" ( (pointer_expression "*(code *)pHStack_98[-0x7fc].data" * (cast_expression "(code *)pHStack_98[-0x7fc].data" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHStack_98[-0x7fc].data" (subscript_expression "pHStack_98[-0x7fc]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(psVar43->aLimit[iVar5 + -0x18])" ( (subscript_expression "psVar43->aLimit[iVar5 + -0x18]" (field_expression "psVar43->aLimit" identifier -> field_identifier) [ (binary_expression "iVar5 + -0x18" identifier + number_literal) ]) )))) ;) (if_statement "if (iVar5 == 5) {\nLAB_001073c8:\n        (*(code *)pHStack_98[-0x7f8].next)(psStack_90);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7f7].data)(psStack_90);\n        uVar58 = (*(code *)pHStack_98[-0x7ec].next)(p_00->db);\n        psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);\n        psVar31->pVdbe = (Vdbe *)(int)uVar58;\n      }\n      else {\n        unaff_s5 = (sqlite3 *)\n                   (*(code *)pHStack_98[-0x7fc].data)(((sqlite3_vtab *)&psVar43->pVfs)->pModule);\n        if ((unaff_s5 == (sqlite3 *)&DAT_00000005) &&\n           (iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe), iVar5 != 5)) {\n          pDVar40 = (Db *)0x1;\n        }\n        else {\n          psVar20 = (sqlite3 *)0x1;\n          psVar43 = (sqlite3 *)(psVar43->aLimit + p_00->nColumn + -0x18);\n          psVar49 = (sqlite3 *)((sqlite3_vtab *)&psVar43->pVfs)->pModule;\n          pDVar40 = (Db *)(*(code *)pHStack_98[-0x7db].pKey)(psStack_90);\n          if (pDVar40 == (Db *)0x0) goto LAB_001073c8;\n        }\n      }" if (parenthesized_expression "(iVar5 == 5)" ( (binary_expression "iVar5 == 5" identifier == number_literal) )) (compound_statement "{\nLAB_001073c8:\n        (*(code *)pHStack_98[-0x7f8].next)(psStack_90);\n        pDVar40 = (Db *)(*(code *)pHStack_98[-0x7f7].data)(psStack_90);\n        uVar58 = (*(code *)pHStack_98[-0x7ec].next)(p_00->db);\n        psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);\n        psVar31->pVdbe = (Vdbe *)(int)uVar58;\n      }" { (labeled_statement "LAB_001073c8:\n        (*(code *)pHStack_98[-0x7f8].next)(psStack_90);" statement_identifier : (expression_statement "(*(code *)pHStack_98[-0x7f8].next)(psStack_90);" (call_expression "(*(code *)pHStack_98[-0x7f8].next)(psStack_90)" (parenthesized_expression "(*(code *)pHStack_98[-0x7f8].next)" ( (pointer_expression "*(code *)pHStack_98[-0x7f8].next" * (cast_expression "(code *)pHStack_98[-0x7f8].next" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHStack_98[-0x7f8].next" (subscript_expression "pHStack_98[-0x7f8]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(psStack_90)" ( identifier ))) ;)) (expression_statement "pDVar40 = (Db *)(*(code *)pHStack_98[-0x7f7].data)(psStack_90);" (assignment_expression "pDVar40 = (Db *)(*(code *)pHStack_98[-0x7f7].data)(psStack_90)" identifier = (cast_expression "(Db *)(*(code *)pHStack_98[-0x7f7].data)(psStack_90)" ( (type_descriptor "Db *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pHStack_98[-0x7f7].data)(psStack_90)" (parenthesized_expression "(*(code *)pHStack_98[-0x7f7].data)" ( (pointer_expression "*(code *)pHStack_98[-0x7f7].data" * (cast_expression "(code *)pHStack_98[-0x7f7].data" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHStack_98[-0x7f7].data" (subscript_expression "pHStack_98[-0x7f7]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(psStack_90)" ( identifier ))))) ;) (expression_statement "uVar58 = (*(code *)pHStack_98[-0x7ec].next)(p_00->db);" (assignment_expression "uVar58 = (*(code *)pHStack_98[-0x7ec].next)(p_00->db)" identifier = (call_expression "(*(code *)pHStack_98[-0x7ec].next)(p_00->db)" (parenthesized_expression "(*(code *)pHStack_98[-0x7ec].next)" ( (pointer_expression "*(code *)pHStack_98[-0x7ec].next" * (cast_expression "(code *)pHStack_98[-0x7ec].next" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHStack_98[-0x7ec].next" (subscript_expression "pHStack_98[-0x7ec]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(p_00->db)" ( (field_expression "p_00->db" identifier -> field_identifier) )))) ;) (expression_statement "psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);" (assignment_expression "psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20)" (field_expression "psVar31->pVfs" identifier -> field_identifier) = (cast_expression "(sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20)" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)((ulonglong)uVar58 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar58 >> 0x20)" ( (binary_expression "(ulonglong)uVar58 >> 0x20" (cast_expression "(ulonglong)uVar58" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))))) ;) (expression_statement "psVar31->pVdbe = (Vdbe *)(int)uVar58;" (assignment_expression "psVar31->pVdbe = (Vdbe *)(int)uVar58" (field_expression "psVar31->pVdbe" identifier -> field_identifier) = (cast_expression "(Vdbe *)(int)uVar58" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)uVar58" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n        unaff_s5 = (sqlite3 *)\n                   (*(code *)pHStack_98[-0x7fc].data)(((sqlite3_vtab *)&psVar43->pVfs)->pModule);\n        if ((unaff_s5 == (sqlite3 *)&DAT_00000005) &&\n           (iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe), iVar5 != 5)) {\n          pDVar40 = (Db *)0x1;\n        }\n        else {\n          psVar20 = (sqlite3 *)0x1;\n          psVar43 = (sqlite3 *)(psVar43->aLimit + p_00->nColumn + -0x18);\n          psVar49 = (sqlite3 *)((sqlite3_vtab *)&psVar43->pVfs)->pModule;\n          pDVar40 = (Db *)(*(code *)pHStack_98[-0x7db].pKey)(psStack_90);\n          if (pDVar40 == (Db *)0x0) goto LAB_001073c8;\n        }\n      }" else (compound_statement "{\n        unaff_s5 = (sqlite3 *)\n                   (*(code *)pHStack_98[-0x7fc].data)(((sqlite3_vtab *)&psVar43->pVfs)->pModule);\n        if ((unaff_s5 == (sqlite3 *)&DAT_00000005) &&\n           (iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe), iVar5 != 5)) {\n          pDVar40 = (Db *)0x1;\n        }\n        else {\n          psVar20 = (sqlite3 *)0x1;\n          psVar43 = (sqlite3 *)(psVar43->aLimit + p_00->nColumn + -0x18);\n          psVar49 = (sqlite3 *)((sqlite3_vtab *)&psVar43->pVfs)->pModule;\n          pDVar40 = (Db *)(*(code *)pHStack_98[-0x7db].pKey)(psStack_90);\n          if (pDVar40 == (Db *)0x0) goto LAB_001073c8;\n        }\n      }" { (expression_statement "unaff_s5 = (sqlite3 *)\n                   (*(code *)pHStack_98[-0x7fc].data)(((sqlite3_vtab *)&psVar43->pVfs)->pModule);" (assignment_expression "unaff_s5 = (sqlite3 *)\n                   (*(code *)pHStack_98[-0x7fc].data)(((sqlite3_vtab *)&psVar43->pVfs)->pModule)" identifier = (cast_expression "(sqlite3 *)\n                   (*(code *)pHStack_98[-0x7fc].data)(((sqlite3_vtab *)&psVar43->pVfs)->pModule)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pHStack_98[-0x7fc].data)(((sqlite3_vtab *)&psVar43->pVfs)->pModule)" (parenthesized_expression "(*(code *)pHStack_98[-0x7fc].data)" ( (pointer_expression "*(code *)pHStack_98[-0x7fc].data" * (cast_expression "(code *)pHStack_98[-0x7fc].data" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHStack_98[-0x7fc].data" (subscript_expression "pHStack_98[-0x7fc]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(((sqlite3_vtab *)&psVar43->pVfs)->pModule)" ( (field_expression "((sqlite3_vtab *)&psVar43->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar43->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar43->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar43->pVfs" & (field_expression "psVar43->pVfs" identifier -> field_identifier))) )) -> field_identifier) ))))) ;) (if_statement "if ((unaff_s5 == (sqlite3 *)&DAT_00000005) &&\n           (iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe), iVar5 != 5)) {\n          pDVar40 = (Db *)0x1;\n        }\n        else {\n          psVar20 = (sqlite3 *)0x1;\n          psVar43 = (sqlite3 *)(psVar43->aLimit + p_00->nColumn + -0x18);\n          psVar49 = (sqlite3 *)((sqlite3_vtab *)&psVar43->pVfs)->pModule;\n          pDVar40 = (Db *)(*(code *)pHStack_98[-0x7db].pKey)(psStack_90);\n          if (pDVar40 == (Db *)0x0) goto LAB_001073c8;\n        }" if (parenthesized_expression "((unaff_s5 == (sqlite3 *)&DAT_00000005) &&\n           (iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe), iVar5 != 5))" ( (binary_expression "(unaff_s5 == (sqlite3 *)&DAT_00000005) &&\n           (iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe), iVar5 != 5)" (parenthesized_expression "(unaff_s5 == (sqlite3 *)&DAT_00000005)" ( (binary_expression "unaff_s5 == (sqlite3 *)&DAT_00000005" identifier == (cast_expression "(sqlite3 *)&DAT_00000005" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000005" & identifier))) )) && (parenthesized_expression "(iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe), iVar5 != 5)" ( (comma_expression "iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe), iVar5 != 5" (assignment_expression "iVar5 = (*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe)" identifier = (call_expression "(*(code *)pHStack_98[-0x7fc].data)(psVar43->pVdbe)" (parenthesized_expression "(*(code *)pHStack_98[-0x7fc].data)" ( (pointer_expression "*(code *)pHStack_98[-0x7fc].data" * (cast_expression "(code *)pHStack_98[-0x7fc].data" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHStack_98[-0x7fc].data" (subscript_expression "pHStack_98[-0x7fc]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(psVar43->pVdbe)" ( (field_expression "psVar43->pVdbe" identifier -> field_identifier) )))) , (binary_expression "iVar5 != 5" identifier != number_literal)) ))) )) (compound_statement "{\n          pDVar40 = (Db *)0x1;\n        }" { (expression_statement "pDVar40 = (Db *)0x1;" (assignment_expression "pDVar40 = (Db *)0x1" identifier = (cast_expression "(Db *)0x1" ( (type_descriptor "Db *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          psVar20 = (sqlite3 *)0x1;\n          psVar43 = (sqlite3 *)(psVar43->aLimit + p_00->nColumn + -0x18);\n          psVar49 = (sqlite3 *)((sqlite3_vtab *)&psVar43->pVfs)->pModule;\n          pDVar40 = (Db *)(*(code *)pHStack_98[-0x7db].pKey)(psStack_90);\n          if (pDVar40 == (Db *)0x0) goto LAB_001073c8;\n        }" else (compound_statement "{\n          psVar20 = (sqlite3 *)0x1;\n          psVar43 = (sqlite3 *)(psVar43->aLimit + p_00->nColumn + -0x18);\n          psVar49 = (sqlite3 *)((sqlite3_vtab *)&psVar43->pVfs)->pModule;\n          pDVar40 = (Db *)(*(code *)pHStack_98[-0x7db].pKey)(psStack_90);\n          if (pDVar40 == (Db *)0x0) goto LAB_001073c8;\n        }" { (expression_statement "psVar20 = (sqlite3 *)0x1;" (assignment_expression "psVar20 = (sqlite3 *)0x1" identifier = (cast_expression "(sqlite3 *)0x1" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar43 = (sqlite3 *)(psVar43->aLimit + p_00->nColumn + -0x18);" (assignment_expression "psVar43 = (sqlite3 *)(psVar43->aLimit + p_00->nColumn + -0x18)" identifier = (cast_expression "(sqlite3 *)(psVar43->aLimit + p_00->nColumn + -0x18)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar43->aLimit + p_00->nColumn + -0x18)" ( (binary_expression "psVar43->aLimit + p_00->nColumn + -0x18" (binary_expression "psVar43->aLimit + p_00->nColumn" (field_expression "psVar43->aLimit" identifier -> field_identifier) + (field_expression "p_00->nColumn" identifier -> field_identifier)) + number_literal) )))) ;) (expression_statement "psVar49 = (sqlite3 *)((sqlite3_vtab *)&psVar43->pVfs)->pModule;" (assignment_expression "psVar49 = (sqlite3 *)((sqlite3_vtab *)&psVar43->pVfs)->pModule" identifier = (cast_expression "(sqlite3 *)((sqlite3_vtab *)&psVar43->pVfs)->pModule" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((sqlite3_vtab *)&psVar43->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar43->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar43->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar43->pVfs" & (field_expression "psVar43->pVfs" identifier -> field_identifier))) )) -> field_identifier))) ;) (expression_statement "pDVar40 = (Db *)(*(code *)pHStack_98[-0x7db].pKey)(psStack_90);" (assignment_expression "pDVar40 = (Db *)(*(code *)pHStack_98[-0x7db].pKey)(psStack_90)" identifier = (cast_expression "(Db *)(*(code *)pHStack_98[-0x7db].pKey)(psStack_90)" ( (type_descriptor "Db *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pHStack_98[-0x7db].pKey)(psStack_90)" (parenthesized_expression "(*(code *)pHStack_98[-0x7db].pKey)" ( (pointer_expression "*(code *)pHStack_98[-0x7db].pKey" * (cast_expression "(code *)pHStack_98[-0x7db].pKey" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHStack_98[-0x7db].pKey" (subscript_expression "pHStack_98[-0x7db]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(psStack_90)" ( identifier ))))) ;) (if_statement "if (pDVar40 == (Db *)0x0) goto LAB_001073c8;" if (parenthesized_expression "(pDVar40 == (Db *)0x0)" ( (binary_expression "pDVar40 == (Db *)0x0" identifier == (cast_expression "(Db *)0x0" ( (type_descriptor "Db *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001073c8;" goto statement_identifier ;)) }))) }))) })) }) (else_clause "else {\n    p_00 = (Fts3Table *)psVar43->aLimit[p_00->nColumn + -0x18];\n    psVar20 = psVar43;\n    psVar49 = psVar31;\n    iVar5 = (**(code **)(pcVar51 + 0x54418))(p_00);\n    if (iVar5 == 5) {\n      p_00 = (Fts3Table *)psVar43->pVdbe;\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);\n    }\n    else {\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);\n    }\n    if (iVar5 == 1) {\n      pDVar40 = (Db *)0x0;\n      uVar58 = (*(code *)pHStack_98[-0x7fb].data)(p_00);\n      psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);\n      psVar31->pVdbe = (Vdbe *)(int)uVar58;\n    }\n    else {\n      pDVar40 = (Db *)&DAT_00000013;\n    }\n  }" else (compound_statement "{\n    p_00 = (Fts3Table *)psVar43->aLimit[p_00->nColumn + -0x18];\n    psVar20 = psVar43;\n    psVar49 = psVar31;\n    iVar5 = (**(code **)(pcVar51 + 0x54418))(p_00);\n    if (iVar5 == 5) {\n      p_00 = (Fts3Table *)psVar43->pVdbe;\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);\n    }\n    else {\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);\n    }\n    if (iVar5 == 1) {\n      pDVar40 = (Db *)0x0;\n      uVar58 = (*(code *)pHStack_98[-0x7fb].data)(p_00);\n      psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);\n      psVar31->pVdbe = (Vdbe *)(int)uVar58;\n    }\n    else {\n      pDVar40 = (Db *)&DAT_00000013;\n    }\n  }" { (expression_statement "p_00 = (Fts3Table *)psVar43->aLimit[p_00->nColumn + -0x18];" (assignment_expression "p_00 = (Fts3Table *)psVar43->aLimit[p_00->nColumn + -0x18]" identifier = (cast_expression "(Fts3Table *)psVar43->aLimit[p_00->nColumn + -0x18]" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar43->aLimit[p_00->nColumn + -0x18]" (field_expression "psVar43->aLimit" identifier -> field_identifier) [ (binary_expression "p_00->nColumn + -0x18" (field_expression "p_00->nColumn" identifier -> field_identifier) + number_literal) ]))) ;) (expression_statement "psVar20 = psVar43;" (assignment_expression "psVar20 = psVar43" identifier = identifier) ;) (expression_statement "psVar49 = psVar31;" (assignment_expression "psVar49 = psVar31" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(pcVar51 + 0x54418))(p_00);" (assignment_expression "iVar5 = (**(code **)(pcVar51 + 0x54418))(p_00)" identifier = (call_expression "(**(code **)(pcVar51 + 0x54418))(p_00)" (parenthesized_expression "(**(code **)(pcVar51 + 0x54418))" ( (pointer_expression "**(code **)(pcVar51 + 0x54418)" * (pointer_expression "*(code **)(pcVar51 + 0x54418)" * (cast_expression "(code **)(pcVar51 + 0x54418)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar51 + 0x54418)" ( (binary_expression "pcVar51 + 0x54418" identifier + number_literal) ))))) )) (argument_list "(p_00)" ( identifier )))) ;) (if_statement "if (iVar5 == 5) {\n      p_00 = (Fts3Table *)psVar43->pVdbe;\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);\n    }\n    else {\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);\n    }" if (parenthesized_expression "(iVar5 == 5)" ( (binary_expression "iVar5 == 5" identifier == number_literal) )) (compound_statement "{\n      p_00 = (Fts3Table *)psVar43->pVdbe;\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);\n    }" { (expression_statement "p_00 = (Fts3Table *)psVar43->pVdbe;" (assignment_expression "p_00 = (Fts3Table *)psVar43->pVdbe" identifier = (cast_expression "(Fts3Table *)psVar43->pVdbe" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->pVdbe" identifier -> field_identifier))) ;) (expression_statement "iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);" (assignment_expression "iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00)" identifier = (call_expression "(*(code *)pHStack_98[-0x7fc].data)(p_00)" (parenthesized_expression "(*(code *)pHStack_98[-0x7fc].data)" ( (pointer_expression "*(code *)pHStack_98[-0x7fc].data" * (cast_expression "(code *)pHStack_98[-0x7fc].data" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHStack_98[-0x7fc].data" (subscript_expression "pHStack_98[-0x7fc]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(p_00)" ( identifier )))) ;) }) (else_clause "else {\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);\n    }" else (compound_statement "{\n      iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);\n    }" { (expression_statement "iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00);" (assignment_expression "iVar5 = (*(code *)pHStack_98[-0x7fc].data)(p_00)" identifier = (call_expression "(*(code *)pHStack_98[-0x7fc].data)(p_00)" (parenthesized_expression "(*(code *)pHStack_98[-0x7fc].data)" ( (pointer_expression "*(code *)pHStack_98[-0x7fc].data" * (cast_expression "(code *)pHStack_98[-0x7fc].data" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHStack_98[-0x7fc].data" (subscript_expression "pHStack_98[-0x7fc]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(p_00)" ( identifier )))) ;) }))) (if_statement "if (iVar5 == 1) {\n      pDVar40 = (Db *)0x0;\n      uVar58 = (*(code *)pHStack_98[-0x7fb].data)(p_00);\n      psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);\n      psVar31->pVdbe = (Vdbe *)(int)uVar58;\n    }\n    else {\n      pDVar40 = (Db *)&DAT_00000013;\n    }" if (parenthesized_expression "(iVar5 == 1)" ( (binary_expression "iVar5 == 1" identifier == number_literal) )) (compound_statement "{\n      pDVar40 = (Db *)0x0;\n      uVar58 = (*(code *)pHStack_98[-0x7fb].data)(p_00);\n      psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);\n      psVar31->pVdbe = (Vdbe *)(int)uVar58;\n    }" { (expression_statement "pDVar40 = (Db *)0x0;" (assignment_expression "pDVar40 = (Db *)0x0" identifier = (cast_expression "(Db *)0x0" ( (type_descriptor "Db *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar58 = (*(code *)pHStack_98[-0x7fb].data)(p_00);" (assignment_expression "uVar58 = (*(code *)pHStack_98[-0x7fb].data)(p_00)" identifier = (call_expression "(*(code *)pHStack_98[-0x7fb].data)(p_00)" (parenthesized_expression "(*(code *)pHStack_98[-0x7fb].data)" ( (pointer_expression "*(code *)pHStack_98[-0x7fb].data" * (cast_expression "(code *)pHStack_98[-0x7fb].data" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHStack_98[-0x7fb].data" (subscript_expression "pHStack_98[-0x7fb]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(p_00)" ( identifier )))) ;) (expression_statement "psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20);" (assignment_expression "psVar31->pVfs = (sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20)" (field_expression "psVar31->pVfs" identifier -> field_identifier) = (cast_expression "(sqlite3_vfs *)(int)((ulonglong)uVar58 >> 0x20)" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)((ulonglong)uVar58 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar58 >> 0x20)" ( (binary_expression "(ulonglong)uVar58 >> 0x20" (cast_expression "(ulonglong)uVar58" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))))) ;) (expression_statement "psVar31->pVdbe = (Vdbe *)(int)uVar58;" (assignment_expression "psVar31->pVdbe = (Vdbe *)(int)uVar58" (field_expression "psVar31->pVdbe" identifier -> field_identifier) = (cast_expression "(Vdbe *)(int)uVar58" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)uVar58" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n      pDVar40 = (Db *)&DAT_00000013;\n    }" else (compound_statement "{\n      pDVar40 = (Db *)&DAT_00000013;\n    }" { (expression_statement "pDVar40 = (Db *)&DAT_00000013;" (assignment_expression "pDVar40 = (Db *)&DAT_00000013" identifier = (cast_expression "(Db *)&DAT_00000013" ( (type_descriptor "Db *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000013" & identifier))) ;) }))) }))) (labeled_statement "LAB_00107278:\n  if (psStack_8c == (sqlite3 *)((sqlite3_vtab *)&psVar41->pVfs)->pModule) {\n    return;\n  }" statement_identifier : (if_statement "if (psStack_8c == (sqlite3 *)((sqlite3_vtab *)&psVar41->pVfs)->pModule) {\n    return;\n  }" if (parenthesized_expression "(psStack_8c == (sqlite3 *)((sqlite3_vtab *)&psVar41->pVfs)->pModule)" ( (binary_expression "psStack_8c == (sqlite3 *)((sqlite3_vtab *)&psVar41->pVfs)->pModule" identifier == (cast_expression "(sqlite3 *)((sqlite3_vtab *)&psVar41->pVfs)->pModule" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((sqlite3_vtab *)&psVar41->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar41->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar41->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar41->pVfs" & (field_expression "psVar41->pVfs" identifier -> field_identifier))) )) -> field_identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pHVar52 = pHStack_98[-0x7ba].next;" (assignment_expression "pHVar52 = pHStack_98[-0x7ba].next" identifier = (field_expression "pHStack_98[-0x7ba].next" (subscript_expression "pHStack_98[-0x7ba]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pcVar51 = fts3InsertDocsize;" (assignment_expression "pcVar51 = fts3InsertDocsize" identifier = identifier) ;) (expression_statement "psVar33 = psStack_8c;" (assignment_expression "psVar33 = psStack_8c" identifier = identifier) ;) (expression_statement "(*(code *)pHVar52)();" (call_expression "(*(code *)pHVar52)()" (parenthesized_expression "(*(code *)pHVar52)" ( (pointer_expression "*(code *)pHVar52" * (cast_expression "(code *)pHVar52" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "psVar44 = (sqlite3 *)pHVar52[0x545f].pKey;" (assignment_expression "psVar44 = (sqlite3 *)pHVar52[0x545f].pKey" identifier = (cast_expression "(sqlite3 *)pHVar52[0x545f].pKey" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHVar52[0x545f].pKey" (subscript_expression "pHVar52[0x545f]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "psVar38 = (sqlite3 *)((sqlite3_vtab *)&psVar33->pVfs)->pModule;" (assignment_expression "psVar38 = (sqlite3 *)((sqlite3_vtab *)&psVar33->pVfs)->pModule" identifier = (cast_expression "(sqlite3 *)((sqlite3_vtab *)&psVar33->pVfs)->pModule" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((sqlite3_vtab *)&psVar33->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar33->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar33->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar33->pVfs" & (field_expression "psVar33->pVfs" identifier -> field_identifier))) )) -> field_identifier))) ;) (expression_statement "pVStack_c4 = (Vdbe *)((sqlite3_vtab *)&psVar44->pVfs)->pModule;" (assignment_expression "pVStack_c4 = (Vdbe *)((sqlite3_vtab *)&psVar44->pVfs)->pModule" identifier = (cast_expression "(Vdbe *)((sqlite3_vtab *)&psVar44->pVfs)->pModule" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((sqlite3_vtab *)&psVar44->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar44->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar44->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar44->pVfs" & (field_expression "psVar44->pVfs" identifier -> field_identifier))) )) -> field_identifier))) ;) (expression_statement "psVar42 = psVar33;" (assignment_expression "psVar42 = psVar33" identifier = identifier) ;) (expression_statement "psVar29 = psVar20;" (assignment_expression "psVar29 = psVar20" identifier = identifier) ;) (expression_statement "pFStack_c0 = p_00;" (assignment_expression "pFStack_c0 = p_00" identifier = identifier) ;) (expression_statement "psStack_bc = psVar41;" (assignment_expression "psStack_bc = psVar41" identifier = identifier) ;) (expression_statement "pDStack_b8 = pDVar40;" (assignment_expression "pDStack_b8 = pDVar40" identifier = identifier) ;) (expression_statement "psStack_b4 = psVar43;" (assignment_expression "psStack_b4 = psVar43" identifier = identifier) ;) (expression_statement "psStack_b0 = psVar31;" (assignment_expression "psStack_b0 = psVar31" identifier = identifier) ;) (expression_statement "pHStack_ac = (HashElem *)pcVar51;" (assignment_expression "pHStack_ac = (HashElem *)pcVar51" identifier = (cast_expression "(HashElem *)pcVar51" ( (type_descriptor "HashElem *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (psVar38 == (sqlite3 *)0x0) {\n    uVar14 = psVar20->mDbFlags;\n    apVal = (sqlite3_value **)(uVar14 >> 0x1e);\n    psVar29 = (sqlite3 *)(uVar14 * 10);\n    psVar42 = (sqlite3 *)\n              (uVar14 * 5 >> 0x1f |\n              ((uint)(uVar14 * 5 < uVar14 * 4) +\n              ((uint)apVal | ((int)uVar14 >> 0x1f) << 2) + ((int)uVar14 >> 0x1f)) * 2);\n    psVar41 = (sqlite3 *)(*(code *)pHVar52[0x5433].next)();\n    psVar31 = psVar33;\n    if (psVar41 == (sqlite3 *)0x0) {\n      ((sqlite3_vtab *)&psVar33->pVfs)->pModule = (sqlite3_module *)0x7;\n    }\n    else {\n      uVar39 = psVar20->mDbFlags;\n      if (0 < (int)uVar39) {\n        piVar8 = psVar49->aLimit;\n        psVar38 = (sqlite3 *)0x0;\n        do {\n          pbVar36 = (byte *)((int)psVar41->aLimit + (int)&psVar38[-1].busyHandler);\n          psVar6 = ((sqlite3_vtab *)&psVar49->pVfs)->pModule;\n          pbVar4 = pbVar36;\n          do {\n            pbVar34 = pbVar4;\n            psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n            bVar26 = (byte)psVar6;\n            *pbVar34 = bVar26 | 0x80;\n            psVar6 = psVar30;\n            pbVar4 = pbVar34 + 1;\n          } while (psVar30 != (sqlite3_module *)0x0);\n          psVar49 = (sqlite3 *)&psVar49->pVdbe;\n          *pbVar34 = bVar26 & 0x7f;\n          psVar38 = (sqlite3 *)((int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36));\n        } while ((sqlite3 *)(piVar8 + (uVar39 - 0x1b)) != psVar49);\n      }\n      apVal = (sqlite3_value **)0x0;\n      psVar49 = (sqlite3 *)&psStack_c8;\n      psVar29 = (sqlite3 *)0x14;\n      psVar6 = (sqlite3_module *)\n               fts3SqlStmt((Fts3Table *)psVar20,0x14,(sqlite3_stmt **)psVar49,(sqlite3_value **)0x0)\n      ;\n      if (psVar6 == (sqlite3_module *)0x0) {\n        (*(code *)pHVar52[0x543c].data)\n                  (psStack_c8,1,(psVar20->u1).isInterrupted,*(undefined4 *)((int)&psVar20->u1 + 4));\n        psVar29 = (sqlite3 *)0x2;\n        pHStack_e0 = pHVar52[0x541f].next;\n        psVar49 = psVar41;\n        apVal = (sqlite3_value **)psVar38;\n        (*(code *)pHVar52[0x543c].pKey)(psStack_c8);\n        (*(code *)pHVar52[0x5420].next)(psStack_c8);\n        psVar6 = (sqlite3_module *)(*(code *)pHVar52[0x5421].data)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n        psVar42 = psStack_c8;\n      }\n      else {\n        psVar42 = psVar41;\n        (*(code *)pHVar52[0x541f].next)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n      }\n    }\n  }" if (parenthesized_expression "(psVar38 == (sqlite3 *)0x0)" ( (binary_expression "psVar38 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar14 = psVar20->mDbFlags;\n    apVal = (sqlite3_value **)(uVar14 >> 0x1e);\n    psVar29 = (sqlite3 *)(uVar14 * 10);\n    psVar42 = (sqlite3 *)\n              (uVar14 * 5 >> 0x1f |\n              ((uint)(uVar14 * 5 < uVar14 * 4) +\n              ((uint)apVal | ((int)uVar14 >> 0x1f) << 2) + ((int)uVar14 >> 0x1f)) * 2);\n    psVar41 = (sqlite3 *)(*(code *)pHVar52[0x5433].next)();\n    psVar31 = psVar33;\n    if (psVar41 == (sqlite3 *)0x0) {\n      ((sqlite3_vtab *)&psVar33->pVfs)->pModule = (sqlite3_module *)0x7;\n    }\n    else {\n      uVar39 = psVar20->mDbFlags;\n      if (0 < (int)uVar39) {\n        piVar8 = psVar49->aLimit;\n        psVar38 = (sqlite3 *)0x0;\n        do {\n          pbVar36 = (byte *)((int)psVar41->aLimit + (int)&psVar38[-1].busyHandler);\n          psVar6 = ((sqlite3_vtab *)&psVar49->pVfs)->pModule;\n          pbVar4 = pbVar36;\n          do {\n            pbVar34 = pbVar4;\n            psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n            bVar26 = (byte)psVar6;\n            *pbVar34 = bVar26 | 0x80;\n            psVar6 = psVar30;\n            pbVar4 = pbVar34 + 1;\n          } while (psVar30 != (sqlite3_module *)0x0);\n          psVar49 = (sqlite3 *)&psVar49->pVdbe;\n          *pbVar34 = bVar26 & 0x7f;\n          psVar38 = (sqlite3 *)((int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36));\n        } while ((sqlite3 *)(piVar8 + (uVar39 - 0x1b)) != psVar49);\n      }\n      apVal = (sqlite3_value **)0x0;\n      psVar49 = (sqlite3 *)&psStack_c8;\n      psVar29 = (sqlite3 *)0x14;\n      psVar6 = (sqlite3_module *)\n               fts3SqlStmt((Fts3Table *)psVar20,0x14,(sqlite3_stmt **)psVar49,(sqlite3_value **)0x0)\n      ;\n      if (psVar6 == (sqlite3_module *)0x0) {\n        (*(code *)pHVar52[0x543c].data)\n                  (psStack_c8,1,(psVar20->u1).isInterrupted,*(undefined4 *)((int)&psVar20->u1 + 4));\n        psVar29 = (sqlite3 *)0x2;\n        pHStack_e0 = pHVar52[0x541f].next;\n        psVar49 = psVar41;\n        apVal = (sqlite3_value **)psVar38;\n        (*(code *)pHVar52[0x543c].pKey)(psStack_c8);\n        (*(code *)pHVar52[0x5420].next)(psStack_c8);\n        psVar6 = (sqlite3_module *)(*(code *)pHVar52[0x5421].data)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n        psVar42 = psStack_c8;\n      }\n      else {\n        psVar42 = psVar41;\n        (*(code *)pHVar52[0x541f].next)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n      }\n    }\n  }" { (expression_statement "uVar14 = psVar20->mDbFlags;" (assignment_expression "uVar14 = psVar20->mDbFlags" identifier = (field_expression "psVar20->mDbFlags" identifier -> field_identifier)) ;) (expression_statement "apVal = (sqlite3_value **)(uVar14 >> 0x1e);" (assignment_expression "apVal = (sqlite3_value **)(uVar14 >> 0x1e)" identifier = (cast_expression "(sqlite3_value **)(uVar14 >> 0x1e)" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar14 >> 0x1e)" ( (binary_expression "uVar14 >> 0x1e" identifier >> number_literal) )))) ;) (expression_statement "psVar29 = (sqlite3 *)(uVar14 * 10);" (assignment_expression "psVar29 = (sqlite3 *)(uVar14 * 10)" identifier = (cast_expression "(sqlite3 *)(uVar14 * 10)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar14 * 10)" ( (binary_expression "uVar14 * 10" identifier * number_literal) )))) ;) (expression_statement "psVar42 = (sqlite3 *)\n              (uVar14 * 5 >> 0x1f |\n              ((uint)(uVar14 * 5 < uVar14 * 4) +\n              ((uint)apVal | ((int)uVar14 >> 0x1f) << 2) + ((int)uVar14 >> 0x1f)) * 2);" (assignment_expression "psVar42 = (sqlite3 *)\n              (uVar14 * 5 >> 0x1f |\n              ((uint)(uVar14 * 5 < uVar14 * 4) +\n              ((uint)apVal | ((int)uVar14 >> 0x1f) << 2) + ((int)uVar14 >> 0x1f)) * 2)" identifier = (cast_expression "(sqlite3 *)\n              (uVar14 * 5 >> 0x1f |\n              ((uint)(uVar14 * 5 < uVar14 * 4) +\n              ((uint)apVal | ((int)uVar14 >> 0x1f) << 2) + ((int)uVar14 >> 0x1f)) * 2)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar14 * 5 >> 0x1f |\n              ((uint)(uVar14 * 5 < uVar14 * 4) +\n              ((uint)apVal | ((int)uVar14 >> 0x1f) << 2) + ((int)uVar14 >> 0x1f)) * 2)" ( (binary_expression "uVar14 * 5 >> 0x1f |\n              ((uint)(uVar14 * 5 < uVar14 * 4) +\n              ((uint)apVal | ((int)uVar14 >> 0x1f) << 2) + ((int)uVar14 >> 0x1f)) * 2" (binary_expression "uVar14 * 5 >> 0x1f" (binary_expression "uVar14 * 5" identifier * number_literal) >> number_literal) | (binary_expression "((uint)(uVar14 * 5 < uVar14 * 4) +\n              ((uint)apVal | ((int)uVar14 >> 0x1f) << 2) + ((int)uVar14 >> 0x1f)) * 2" (parenthesized_expression "((uint)(uVar14 * 5 < uVar14 * 4) +\n              ((uint)apVal | ((int)uVar14 >> 0x1f) << 2) + ((int)uVar14 >> 0x1f))" ( (binary_expression "(uint)(uVar14 * 5 < uVar14 * 4) +\n              ((uint)apVal | ((int)uVar14 >> 0x1f) << 2) + ((int)uVar14 >> 0x1f)" (binary_expression "(uint)(uVar14 * 5 < uVar14 * 4) +\n              ((uint)apVal | ((int)uVar14 >> 0x1f) << 2)" (call_expression "(uint)(uVar14 * 5 < uVar14 * 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 * 5 < uVar14 * 4)" ( (binary_expression "uVar14 * 5 < uVar14 * 4" (binary_expression "uVar14 * 5" identifier * number_literal) < (binary_expression "uVar14 * 4" identifier * number_literal)) ))) + (parenthesized_expression "((uint)apVal | ((int)uVar14 >> 0x1f) << 2)" ( (binary_expression "(uint)apVal | ((int)uVar14 >> 0x1f) << 2" (cast_expression "(uint)apVal" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "((int)uVar14 >> 0x1f) << 2" (parenthesized_expression "((int)uVar14 >> 0x1f)" ( (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) << number_literal)) ))) + (parenthesized_expression "((int)uVar14 >> 0x1f)" ( (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) * number_literal)) )))) ;) (expression_statement "psVar41 = (sqlite3 *)(*(code *)pHVar52[0x5433].next)();" (assignment_expression "psVar41 = (sqlite3 *)(*(code *)pHVar52[0x5433].next)()" identifier = (cast_expression "(sqlite3 *)(*(code *)pHVar52[0x5433].next)()" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pHVar52[0x5433].next)()" (parenthesized_expression "(*(code *)pHVar52[0x5433].next)" ( (pointer_expression "*(code *)pHVar52[0x5433].next" * (cast_expression "(code *)pHVar52[0x5433].next" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHVar52[0x5433].next" (subscript_expression "pHVar52[0x5433]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "()" ( ))))) ;) (expression_statement "psVar31 = psVar33;" (assignment_expression "psVar31 = psVar33" identifier = identifier) ;) (if_statement "if (psVar41 == (sqlite3 *)0x0) {\n      ((sqlite3_vtab *)&psVar33->pVfs)->pModule = (sqlite3_module *)0x7;\n    }\n    else {\n      uVar39 = psVar20->mDbFlags;\n      if (0 < (int)uVar39) {\n        piVar8 = psVar49->aLimit;\n        psVar38 = (sqlite3 *)0x0;\n        do {\n          pbVar36 = (byte *)((int)psVar41->aLimit + (int)&psVar38[-1].busyHandler);\n          psVar6 = ((sqlite3_vtab *)&psVar49->pVfs)->pModule;\n          pbVar4 = pbVar36;\n          do {\n            pbVar34 = pbVar4;\n            psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n            bVar26 = (byte)psVar6;\n            *pbVar34 = bVar26 | 0x80;\n            psVar6 = psVar30;\n            pbVar4 = pbVar34 + 1;\n          } while (psVar30 != (sqlite3_module *)0x0);\n          psVar49 = (sqlite3 *)&psVar49->pVdbe;\n          *pbVar34 = bVar26 & 0x7f;\n          psVar38 = (sqlite3 *)((int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36));\n        } while ((sqlite3 *)(piVar8 + (uVar39 - 0x1b)) != psVar49);\n      }\n      apVal = (sqlite3_value **)0x0;\n      psVar49 = (sqlite3 *)&psStack_c8;\n      psVar29 = (sqlite3 *)0x14;\n      psVar6 = (sqlite3_module *)\n               fts3SqlStmt((Fts3Table *)psVar20,0x14,(sqlite3_stmt **)psVar49,(sqlite3_value **)0x0)\n      ;\n      if (psVar6 == (sqlite3_module *)0x0) {\n        (*(code *)pHVar52[0x543c].data)\n                  (psStack_c8,1,(psVar20->u1).isInterrupted,*(undefined4 *)((int)&psVar20->u1 + 4));\n        psVar29 = (sqlite3 *)0x2;\n        pHStack_e0 = pHVar52[0x541f].next;\n        psVar49 = psVar41;\n        apVal = (sqlite3_value **)psVar38;\n        (*(code *)pHVar52[0x543c].pKey)(psStack_c8);\n        (*(code *)pHVar52[0x5420].next)(psStack_c8);\n        psVar6 = (sqlite3_module *)(*(code *)pHVar52[0x5421].data)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n        psVar42 = psStack_c8;\n      }\n      else {\n        psVar42 = psVar41;\n        (*(code *)pHVar52[0x541f].next)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n      }\n    }" if (parenthesized_expression "(psVar41 == (sqlite3 *)0x0)" ( (binary_expression "psVar41 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      ((sqlite3_vtab *)&psVar33->pVfs)->pModule = (sqlite3_module *)0x7;\n    }" { (expression_statement "((sqlite3_vtab *)&psVar33->pVfs)->pModule = (sqlite3_module *)0x7;" (assignment_expression "((sqlite3_vtab *)&psVar33->pVfs)->pModule = (sqlite3_module *)0x7" (field_expression "((sqlite3_vtab *)&psVar33->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar33->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar33->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar33->pVfs" & (field_expression "psVar33->pVfs" identifier -> field_identifier))) )) -> field_identifier) = (cast_expression "(sqlite3_module *)0x7" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      uVar39 = psVar20->mDbFlags;\n      if (0 < (int)uVar39) {\n        piVar8 = psVar49->aLimit;\n        psVar38 = (sqlite3 *)0x0;\n        do {\n          pbVar36 = (byte *)((int)psVar41->aLimit + (int)&psVar38[-1].busyHandler);\n          psVar6 = ((sqlite3_vtab *)&psVar49->pVfs)->pModule;\n          pbVar4 = pbVar36;\n          do {\n            pbVar34 = pbVar4;\n            psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n            bVar26 = (byte)psVar6;\n            *pbVar34 = bVar26 | 0x80;\n            psVar6 = psVar30;\n            pbVar4 = pbVar34 + 1;\n          } while (psVar30 != (sqlite3_module *)0x0);\n          psVar49 = (sqlite3 *)&psVar49->pVdbe;\n          *pbVar34 = bVar26 & 0x7f;\n          psVar38 = (sqlite3 *)((int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36));\n        } while ((sqlite3 *)(piVar8 + (uVar39 - 0x1b)) != psVar49);\n      }\n      apVal = (sqlite3_value **)0x0;\n      psVar49 = (sqlite3 *)&psStack_c8;\n      psVar29 = (sqlite3 *)0x14;\n      psVar6 = (sqlite3_module *)\n               fts3SqlStmt((Fts3Table *)psVar20,0x14,(sqlite3_stmt **)psVar49,(sqlite3_value **)0x0)\n      ;\n      if (psVar6 == (sqlite3_module *)0x0) {\n        (*(code *)pHVar52[0x543c].data)\n                  (psStack_c8,1,(psVar20->u1).isInterrupted,*(undefined4 *)((int)&psVar20->u1 + 4));\n        psVar29 = (sqlite3 *)0x2;\n        pHStack_e0 = pHVar52[0x541f].next;\n        psVar49 = psVar41;\n        apVal = (sqlite3_value **)psVar38;\n        (*(code *)pHVar52[0x543c].pKey)(psStack_c8);\n        (*(code *)pHVar52[0x5420].next)(psStack_c8);\n        psVar6 = (sqlite3_module *)(*(code *)pHVar52[0x5421].data)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n        psVar42 = psStack_c8;\n      }\n      else {\n        psVar42 = psVar41;\n        (*(code *)pHVar52[0x541f].next)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n      }\n    }" else (compound_statement "{\n      uVar39 = psVar20->mDbFlags;\n      if (0 < (int)uVar39) {\n        piVar8 = psVar49->aLimit;\n        psVar38 = (sqlite3 *)0x0;\n        do {\n          pbVar36 = (byte *)((int)psVar41->aLimit + (int)&psVar38[-1].busyHandler);\n          psVar6 = ((sqlite3_vtab *)&psVar49->pVfs)->pModule;\n          pbVar4 = pbVar36;\n          do {\n            pbVar34 = pbVar4;\n            psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n            bVar26 = (byte)psVar6;\n            *pbVar34 = bVar26 | 0x80;\n            psVar6 = psVar30;\n            pbVar4 = pbVar34 + 1;\n          } while (psVar30 != (sqlite3_module *)0x0);\n          psVar49 = (sqlite3 *)&psVar49->pVdbe;\n          *pbVar34 = bVar26 & 0x7f;\n          psVar38 = (sqlite3 *)((int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36));\n        } while ((sqlite3 *)(piVar8 + (uVar39 - 0x1b)) != psVar49);\n      }\n      apVal = (sqlite3_value **)0x0;\n      psVar49 = (sqlite3 *)&psStack_c8;\n      psVar29 = (sqlite3 *)0x14;\n      psVar6 = (sqlite3_module *)\n               fts3SqlStmt((Fts3Table *)psVar20,0x14,(sqlite3_stmt **)psVar49,(sqlite3_value **)0x0)\n      ;\n      if (psVar6 == (sqlite3_module *)0x0) {\n        (*(code *)pHVar52[0x543c].data)\n                  (psStack_c8,1,(psVar20->u1).isInterrupted,*(undefined4 *)((int)&psVar20->u1 + 4));\n        psVar29 = (sqlite3 *)0x2;\n        pHStack_e0 = pHVar52[0x541f].next;\n        psVar49 = psVar41;\n        apVal = (sqlite3_value **)psVar38;\n        (*(code *)pHVar52[0x543c].pKey)(psStack_c8);\n        (*(code *)pHVar52[0x5420].next)(psStack_c8);\n        psVar6 = (sqlite3_module *)(*(code *)pHVar52[0x5421].data)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n        psVar42 = psStack_c8;\n      }\n      else {\n        psVar42 = psVar41;\n        (*(code *)pHVar52[0x541f].next)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n      }\n    }" { (expression_statement "uVar39 = psVar20->mDbFlags;" (assignment_expression "uVar39 = psVar20->mDbFlags" identifier = (field_expression "psVar20->mDbFlags" identifier -> field_identifier)) ;) (if_statement "if (0 < (int)uVar39) {\n        piVar8 = psVar49->aLimit;\n        psVar38 = (sqlite3 *)0x0;\n        do {\n          pbVar36 = (byte *)((int)psVar41->aLimit + (int)&psVar38[-1].busyHandler);\n          psVar6 = ((sqlite3_vtab *)&psVar49->pVfs)->pModule;\n          pbVar4 = pbVar36;\n          do {\n            pbVar34 = pbVar4;\n            psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n            bVar26 = (byte)psVar6;\n            *pbVar34 = bVar26 | 0x80;\n            psVar6 = psVar30;\n            pbVar4 = pbVar34 + 1;\n          } while (psVar30 != (sqlite3_module *)0x0);\n          psVar49 = (sqlite3 *)&psVar49->pVdbe;\n          *pbVar34 = bVar26 & 0x7f;\n          psVar38 = (sqlite3 *)((int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36));\n        } while ((sqlite3 *)(piVar8 + (uVar39 - 0x1b)) != psVar49);\n      }" if (parenthesized_expression "(0 < (int)uVar39)" ( (binary_expression "0 < (int)uVar39" number_literal < (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        piVar8 = psVar49->aLimit;\n        psVar38 = (sqlite3 *)0x0;\n        do {\n          pbVar36 = (byte *)((int)psVar41->aLimit + (int)&psVar38[-1].busyHandler);\n          psVar6 = ((sqlite3_vtab *)&psVar49->pVfs)->pModule;\n          pbVar4 = pbVar36;\n          do {\n            pbVar34 = pbVar4;\n            psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n            bVar26 = (byte)psVar6;\n            *pbVar34 = bVar26 | 0x80;\n            psVar6 = psVar30;\n            pbVar4 = pbVar34 + 1;\n          } while (psVar30 != (sqlite3_module *)0x0);\n          psVar49 = (sqlite3 *)&psVar49->pVdbe;\n          *pbVar34 = bVar26 & 0x7f;\n          psVar38 = (sqlite3 *)((int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36));\n        } while ((sqlite3 *)(piVar8 + (uVar39 - 0x1b)) != psVar49);\n      }" { (expression_statement "piVar8 = psVar49->aLimit;" (assignment_expression "piVar8 = psVar49->aLimit" identifier = (field_expression "psVar49->aLimit" identifier -> field_identifier)) ;) (expression_statement "psVar38 = (sqlite3 *)0x0;" (assignment_expression "psVar38 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n          pbVar36 = (byte *)((int)psVar41->aLimit + (int)&psVar38[-1].busyHandler);\n          psVar6 = ((sqlite3_vtab *)&psVar49->pVfs)->pModule;\n          pbVar4 = pbVar36;\n          do {\n            pbVar34 = pbVar4;\n            psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n            bVar26 = (byte)psVar6;\n            *pbVar34 = bVar26 | 0x80;\n            psVar6 = psVar30;\n            pbVar4 = pbVar34 + 1;\n          } while (psVar30 != (sqlite3_module *)0x0);\n          psVar49 = (sqlite3 *)&psVar49->pVdbe;\n          *pbVar34 = bVar26 & 0x7f;\n          psVar38 = (sqlite3 *)((int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36));\n        } while ((sqlite3 *)(piVar8 + (uVar39 - 0x1b)) != psVar49);" do (compound_statement "{\n          pbVar36 = (byte *)((int)psVar41->aLimit + (int)&psVar38[-1].busyHandler);\n          psVar6 = ((sqlite3_vtab *)&psVar49->pVfs)->pModule;\n          pbVar4 = pbVar36;\n          do {\n            pbVar34 = pbVar4;\n            psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n            bVar26 = (byte)psVar6;\n            *pbVar34 = bVar26 | 0x80;\n            psVar6 = psVar30;\n            pbVar4 = pbVar34 + 1;\n          } while (psVar30 != (sqlite3_module *)0x0);\n          psVar49 = (sqlite3 *)&psVar49->pVdbe;\n          *pbVar34 = bVar26 & 0x7f;\n          psVar38 = (sqlite3 *)((int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36));\n        }" { (expression_statement "pbVar36 = (byte *)((int)psVar41->aLimit + (int)&psVar38[-1].busyHandler);" (assignment_expression "pbVar36 = (byte *)((int)psVar41->aLimit + (int)&psVar38[-1].busyHandler)" identifier = (cast_expression "(byte *)((int)psVar41->aLimit + (int)&psVar38[-1].busyHandler)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar41->aLimit + (int)&psVar38[-1].busyHandler)" ( (binary_expression "(int)psVar41->aLimit + (int)&psVar38[-1].busyHandler" (cast_expression "(int)psVar41->aLimit" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar41->aLimit" identifier -> field_identifier)) + (cast_expression "(int)&psVar38[-1].busyHandler" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar38[-1].busyHandler" & (field_expression "psVar38[-1].busyHandler" (subscript_expression "psVar38[-1]" identifier [ number_literal ]) . field_identifier)))) )))) ;) (expression_statement "psVar6 = ((sqlite3_vtab *)&psVar49->pVfs)->pModule;" (assignment_expression "psVar6 = ((sqlite3_vtab *)&psVar49->pVfs)->pModule" identifier = (field_expression "((sqlite3_vtab *)&psVar49->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar49->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar49->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar49->pVfs" & (field_expression "psVar49->pVfs" identifier -> field_identifier))) )) -> field_identifier)) ;) (expression_statement "pbVar4 = pbVar36;" (assignment_expression "pbVar4 = pbVar36" identifier = identifier) ;) (do_statement "do {\n            pbVar34 = pbVar4;\n            psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n            bVar26 = (byte)psVar6;\n            *pbVar34 = bVar26 | 0x80;\n            psVar6 = psVar30;\n            pbVar4 = pbVar34 + 1;\n          } while (psVar30 != (sqlite3_module *)0x0);" do (compound_statement "{\n            pbVar34 = pbVar4;\n            psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n            bVar26 = (byte)psVar6;\n            *pbVar34 = bVar26 | 0x80;\n            psVar6 = psVar30;\n            pbVar4 = pbVar34 + 1;\n          }" { (expression_statement "pbVar34 = pbVar4;" (assignment_expression "pbVar34 = pbVar4" identifier = identifier) ;) (expression_statement "psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);" (assignment_expression "psVar30 = (sqlite3_module *)((uint)psVar6 >> 7)" identifier = (cast_expression "(sqlite3_module *)((uint)psVar6 >> 7)" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)psVar6 >> 7)" ( (binary_expression "(uint)psVar6 >> 7" (cast_expression "(uint)psVar6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "bVar26 = (byte)psVar6;" (assignment_expression "bVar26 = (byte)psVar6" identifier = (cast_expression "(byte)psVar6" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pbVar34 = bVar26 | 0x80;" (assignment_expression "*pbVar34 = bVar26 | 0x80" (pointer_expression "*pbVar34" * identifier) = (binary_expression "bVar26 | 0x80" identifier | number_literal)) ;) (expression_statement "psVar6 = psVar30;" (assignment_expression "psVar6 = psVar30" identifier = identifier) ;) (expression_statement "pbVar4 = pbVar34 + 1;" (assignment_expression "pbVar4 = pbVar34 + 1" identifier = (binary_expression "pbVar34 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(psVar30 != (sqlite3_module *)0x0)" ( (binary_expression "psVar30 != (sqlite3_module *)0x0" identifier != (cast_expression "(sqlite3_module *)0x0" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "psVar49 = (sqlite3 *)&psVar49->pVdbe;" (assignment_expression "psVar49 = (sqlite3 *)&psVar49->pVdbe" identifier = (cast_expression "(sqlite3 *)&psVar49->pVdbe" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar49->pVdbe" & (field_expression "psVar49->pVdbe" identifier -> field_identifier)))) ;) (expression_statement "*pbVar34 = bVar26 & 0x7f;" (assignment_expression "*pbVar34 = bVar26 & 0x7f" (pointer_expression "*pbVar34" * identifier) = (binary_expression "bVar26 & 0x7f" identifier & number_literal)) ;) (expression_statement "psVar38 = (sqlite3 *)((int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36));" (assignment_expression "psVar38 = (sqlite3 *)((int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36))" identifier = (cast_expression "(sqlite3 *)((int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36))" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36))" ( (binary_expression "(int)psVar38 + ((int)(pbVar34 + 1) - (int)pbVar36)" (cast_expression "(int)psVar38" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)(pbVar34 + 1) - (int)pbVar36)" ( (binary_expression "(int)(pbVar34 + 1) - (int)pbVar36" (cast_expression "(int)(pbVar34 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar34 + 1)" ( (binary_expression "pbVar34 + 1" identifier + number_literal) ))) - (cast_expression "(int)pbVar36" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) }) while (parenthesized_expression "((sqlite3 *)(piVar8 + (uVar39 - 0x1b)) != psVar49)" ( (binary_expression "(sqlite3 *)(piVar8 + (uVar39 - 0x1b)) != psVar49" (cast_expression "(sqlite3 *)(piVar8 + (uVar39 - 0x1b))" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + (uVar39 - 0x1b))" ( (binary_expression "piVar8 + (uVar39 - 0x1b)" identifier + (parenthesized_expression "(uVar39 - 0x1b)" ( (binary_expression "uVar39 - 0x1b" identifier - number_literal) ))) ))) != identifier) )) ;) })) (expression_statement "apVal = (sqlite3_value **)0x0;" (assignment_expression "apVal = (sqlite3_value **)0x0" identifier = (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "psVar49 = (sqlite3 *)&psStack_c8;" (assignment_expression "psVar49 = (sqlite3 *)&psStack_c8" identifier = (cast_expression "(sqlite3 *)&psStack_c8" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_c8" & identifier))) ;) (expression_statement "psVar29 = (sqlite3 *)0x14;" (assignment_expression "psVar29 = (sqlite3 *)0x14" identifier = (cast_expression "(sqlite3 *)0x14" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar6 = (sqlite3_module *)\n               fts3SqlStmt((Fts3Table *)psVar20,0x14,(sqlite3_stmt **)psVar49,(sqlite3_value **)0x0)\n      ;" (assignment_expression "psVar6 = (sqlite3_module *)\n               fts3SqlStmt((Fts3Table *)psVar20,0x14,(sqlite3_stmt **)psVar49,(sqlite3_value **)0x0)" identifier = (cast_expression "(sqlite3_module *)\n               fts3SqlStmt((Fts3Table *)psVar20,0x14,(sqlite3_stmt **)psVar49,(sqlite3_value **)0x0)" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "fts3SqlStmt((Fts3Table *)psVar20,0x14,(sqlite3_stmt **)psVar49,(sqlite3_value **)0x0)" identifier (argument_list "((Fts3Table *)psVar20,0x14,(sqlite3_stmt **)psVar49,(sqlite3_value **)0x0)" ( (cast_expression "(Fts3Table *)psVar20" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (cast_expression "(sqlite3_stmt **)psVar49" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))))) ;) (if_statement "if (psVar6 == (sqlite3_module *)0x0) {\n        (*(code *)pHVar52[0x543c].data)\n                  (psStack_c8,1,(psVar20->u1).isInterrupted,*(undefined4 *)((int)&psVar20->u1 + 4));\n        psVar29 = (sqlite3 *)0x2;\n        pHStack_e0 = pHVar52[0x541f].next;\n        psVar49 = psVar41;\n        apVal = (sqlite3_value **)psVar38;\n        (*(code *)pHVar52[0x543c].pKey)(psStack_c8);\n        (*(code *)pHVar52[0x5420].next)(psStack_c8);\n        psVar6 = (sqlite3_module *)(*(code *)pHVar52[0x5421].data)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n        psVar42 = psStack_c8;\n      }\n      else {\n        psVar42 = psVar41;\n        (*(code *)pHVar52[0x541f].next)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n      }" if (parenthesized_expression "(psVar6 == (sqlite3_module *)0x0)" ( (binary_expression "psVar6 == (sqlite3_module *)0x0" identifier == (cast_expression "(sqlite3_module *)0x0" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*(code *)pHVar52[0x543c].data)\n                  (psStack_c8,1,(psVar20->u1).isInterrupted,*(undefined4 *)((int)&psVar20->u1 + 4));\n        psVar29 = (sqlite3 *)0x2;\n        pHStack_e0 = pHVar52[0x541f].next;\n        psVar49 = psVar41;\n        apVal = (sqlite3_value **)psVar38;\n        (*(code *)pHVar52[0x543c].pKey)(psStack_c8);\n        (*(code *)pHVar52[0x5420].next)(psStack_c8);\n        psVar6 = (sqlite3_module *)(*(code *)pHVar52[0x5421].data)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n        psVar42 = psStack_c8;\n      }" { (expression_statement "(*(code *)pHVar52[0x543c].data)\n                  (psStack_c8,1,(psVar20->u1).isInterrupted,*(undefined4 *)((int)&psVar20->u1 + 4));" (call_expression "(*(code *)pHVar52[0x543c].data)\n                  (psStack_c8,1,(psVar20->u1).isInterrupted,*(undefined4 *)((int)&psVar20->u1 + 4))" (parenthesized_expression "(*(code *)pHVar52[0x543c].data)" ( (pointer_expression "*(code *)pHVar52[0x543c].data" * (cast_expression "(code *)pHVar52[0x543c].data" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHVar52[0x543c].data" (subscript_expression "pHVar52[0x543c]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(psStack_c8,1,(psVar20->u1).isInterrupted,*(undefined4 *)((int)&psVar20->u1 + 4))" ( identifier , number_literal , (field_expression "(psVar20->u1).isInterrupted" (parenthesized_expression "(psVar20->u1)" ( (field_expression "psVar20->u1" identifier -> field_identifier) )) . field_identifier) , (pointer_expression "*(undefined4 *)((int)&psVar20->u1 + 4)" * (cast_expression "(undefined4 *)((int)&psVar20->u1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar20->u1 + 4)" ( (binary_expression "(int)&psVar20->u1 + 4" (cast_expression "(int)&psVar20->u1" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar20->u1" & (field_expression "psVar20->u1" identifier -> field_identifier))) + number_literal) )))) ))) ;) (expression_statement "psVar29 = (sqlite3 *)0x2;" (assignment_expression "psVar29 = (sqlite3 *)0x2" identifier = (cast_expression "(sqlite3 *)0x2" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pHStack_e0 = pHVar52[0x541f].next;" (assignment_expression "pHStack_e0 = pHVar52[0x541f].next" identifier = (field_expression "pHVar52[0x541f].next" (subscript_expression "pHVar52[0x541f]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "psVar49 = psVar41;" (assignment_expression "psVar49 = psVar41" identifier = identifier) ;) (expression_statement "apVal = (sqlite3_value **)psVar38;" (assignment_expression "apVal = (sqlite3_value **)psVar38" identifier = (cast_expression "(sqlite3_value **)psVar38" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "(*(code *)pHVar52[0x543c].pKey)(psStack_c8);" (call_expression "(*(code *)pHVar52[0x543c].pKey)(psStack_c8)" (parenthesized_expression "(*(code *)pHVar52[0x543c].pKey)" ( (pointer_expression "*(code *)pHVar52[0x543c].pKey" * (cast_expression "(code *)pHVar52[0x543c].pKey" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHVar52[0x543c].pKey" (subscript_expression "pHVar52[0x543c]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(psStack_c8)" ( identifier ))) ;) (expression_statement "(*(code *)pHVar52[0x5420].next)(psStack_c8);" (call_expression "(*(code *)pHVar52[0x5420].next)(psStack_c8)" (parenthesized_expression "(*(code *)pHVar52[0x5420].next)" ( (pointer_expression "*(code *)pHVar52[0x5420].next" * (cast_expression "(code *)pHVar52[0x5420].next" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHVar52[0x5420].next" (subscript_expression "pHVar52[0x5420]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(psStack_c8)" ( identifier ))) ;) (expression_statement "psVar6 = (sqlite3_module *)(*(code *)pHVar52[0x5421].data)();" (assignment_expression "psVar6 = (sqlite3_module *)(*(code *)pHVar52[0x5421].data)()" identifier = (cast_expression "(sqlite3_module *)(*(code *)pHVar52[0x5421].data)()" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pHVar52[0x5421].data)()" (parenthesized_expression "(*(code *)pHVar52[0x5421].data)" ( (pointer_expression "*(code *)pHVar52[0x5421].data" * (cast_expression "(code *)pHVar52[0x5421].data" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHVar52[0x5421].data" (subscript_expression "pHVar52[0x5421]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "()" ( ))))) ;) (expression_statement "((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;" (assignment_expression "((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6" (field_expression "((sqlite3_vtab *)&psVar33->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar33->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar33->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar33->pVfs" & (field_expression "psVar33->pVfs" identifier -> field_identifier))) )) -> field_identifier) = identifier) ;) (expression_statement "psVar42 = psStack_c8;" (assignment_expression "psVar42 = psStack_c8" identifier = identifier) ;) }) (else_clause "else {\n        psVar42 = psVar41;\n        (*(code *)pHVar52[0x541f].next)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n      }" else (compound_statement "{\n        psVar42 = psVar41;\n        (*(code *)pHVar52[0x541f].next)();\n        ((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;\n      }" { (expression_statement "psVar42 = psVar41;" (assignment_expression "psVar42 = psVar41" identifier = identifier) ;) (expression_statement "(*(code *)pHVar52[0x541f].next)();" (call_expression "(*(code *)pHVar52[0x541f].next)()" (parenthesized_expression "(*(code *)pHVar52[0x541f].next)" ( (pointer_expression "*(code *)pHVar52[0x541f].next" * (cast_expression "(code *)pHVar52[0x541f].next" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHVar52[0x541f].next" (subscript_expression "pHVar52[0x541f]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "()" ( ))) ;) (expression_statement "((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6;" (assignment_expression "((sqlite3_vtab *)&psVar33->pVfs)->pModule = psVar6" (field_expression "((sqlite3_vtab *)&psVar33->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar33->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar33->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar33->pVfs" & (field_expression "psVar33->pVfs" identifier -> field_identifier))) )) -> field_identifier) = identifier) ;) }))) }))) })) (if_statement "if (pVStack_c4 == (Vdbe *)((sqlite3_vtab *)&psVar44->pVfs)->pModule) {\n    return;\n  }" if (parenthesized_expression "(pVStack_c4 == (Vdbe *)((sqlite3_vtab *)&psVar44->pVfs)->pModule)" ( (binary_expression "pVStack_c4 == (Vdbe *)((sqlite3_vtab *)&psVar44->pVfs)->pModule" identifier == (cast_expression "(Vdbe *)((sqlite3_vtab *)&psVar44->pVfs)->pModule" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((sqlite3_vtab *)&psVar44->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar44->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar44->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar44->pVfs" & (field_expression "psVar44->pVfs" identifier -> field_identifier))) )) -> field_identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pHVar53 = pHVar52[0x545e].next;" (assignment_expression "pHVar53 = pHVar52[0x545e].next" identifier = (field_expression "pHVar52[0x545e].next" (subscript_expression "pHVar52[0x545e]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "(*(code *)pHVar53)();" (call_expression "(*(code *)pHVar53)()" (parenthesized_expression "(*(code *)pHVar53)" ( (pointer_expression "*(code *)pHVar53" * (cast_expression "(code *)pHVar53" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "ppvStack_148 = &pHVar53[0x5bf8].data;" (assignment_expression "ppvStack_148 = &pHVar53[0x5bf8].data" identifier = (pointer_expression "&pHVar53[0x5bf8].data" & (field_expression "pHVar53[0x5bf8].data" (subscript_expression "pHVar53[0x5bf8]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pHVar52 = pHVar53[0x5440].prev;" (assignment_expression "pHVar52 = pHVar53[0x5440].prev" identifier = (field_expression "pHVar53[0x5440].prev" (subscript_expression "pHVar53[0x5440]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pPStack_11c = (PreUpdate *)(((pthread_mutex_t *)&pHVar52->next)->__data).__lock;" (assignment_expression "pPStack_11c = (PreUpdate *)(((pthread_mutex_t *)&pHVar52->next)->__data).__lock" identifier = (cast_expression "(PreUpdate *)(((pthread_mutex_t *)&pHVar52->next)->__data).__lock" ( (type_descriptor "PreUpdate *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(((pthread_mutex_t *)&pHVar52->next)->__data).__lock" (parenthesized_expression "(((pthread_mutex_t *)&pHVar52->next)->__data)" ( (field_expression "((pthread_mutex_t *)&pHVar52->next)->__data" (parenthesized_expression "((pthread_mutex_t *)&pHVar52->next)" ( (cast_expression "(pthread_mutex_t *)&pHVar52->next" ( (type_descriptor "pthread_mutex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pHVar52->next" & (field_expression "pHVar52->next" identifier -> field_identifier))) )) -> field_identifier) )) . field_identifier))) ;) (expression_statement "psVar43 = psVar42;" (assignment_expression "psVar43 = psVar42" identifier = identifier) ;) (expression_statement "psVar33 = psVar49;" (assignment_expression "psVar33 = psVar49" identifier = identifier) ;) (expression_statement "psVar35 = (sqlite3 *)apVal;" (assignment_expression "psVar35 = (sqlite3 *)apVal" identifier = (cast_expression "(sqlite3 *)apVal" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psStack_118 = psVar38;" (assignment_expression "psStack_118 = psVar38" identifier = identifier) ;) (expression_statement "psStack_114 = psVar41;" (assignment_expression "psStack_114 = psVar41" identifier = identifier) ;) (expression_statement "psStack_110 = psVar44;" (assignment_expression "psStack_110 = psVar44" identifier = identifier) ;) (expression_statement "psStack_10c = psVar20;" (assignment_expression "psStack_10c = psVar20" identifier = identifier) ;) (expression_statement "psStack_108 = psVar31;" (assignment_expression "psStack_108 = psVar31" identifier = identifier) ;) (expression_statement "uStack_104 = (int)unaff_s5;" (assignment_expression "uStack_104 = (int)unaff_s5" identifier = (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (((sqlite3_vtab *)&psVar42->pVfs)->pModule == (sqlite3_module *)0x0) {\n    uVar39 = psVar29->mDbFlags;\n    psVar31 = (sqlite3 *)(uVar39 + 2);\n    psVar33 = (sqlite3 *)((uint)psVar31 >> 0x1d);\n    psVar43 = (sqlite3 *)\n              ((uint)((int)psVar31 * 7) >> 0x1f |\n              ((((uint)psVar33 | ((int)psVar31 >> 0x1f) << 3) - ((int)psVar31 >> 0x1f)) -\n              (uint)((uint)((int)psVar31 * 8) < (uint)((int)psVar31 * 7))) * 2);\n    psVar44 = (sqlite3 *)(*(code *)pHVar53[0x5413].data)(psVar43,(int)psVar31 * 0xe);\n    psVar20 = psVar29;\n    unaff_s5 = psVar49;\n    unaff_s6 = (sqlite3 *)apVal;\n    if (psVar44 == (sqlite3 *)0x0) {\n      ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)0x7;\n    }\n    else {\n      psVar33 = (sqlite3 *)&psStack_12c;\n      psVar35 = (sqlite3 *)0x0;\n      p_Stack_13c = (_func_int_void_ptr *)((int)ppvStack_148[-0x1f4c] + 0x7f20);\n      psStack_140 = psVar33;\n      unaff_s8 = (sqlite3 *)\n                 fts3SqlStmt((Fts3Table *)psVar29,0x16,(sqlite3_stmt **)psVar33,\n                             (sqlite3_value **)0x0);\n      psVar43 = psVar44;\n      if (unaff_s8 == (sqlite3 *)0x0) {\n        psVar33 = (sqlite3 *)0x0;\n        unaff_s7 = (sqlite3 *)(uVar39 * 4 + 8);\n        (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1);\n        iVar5 = (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n        if (iVar5 == 100) {\n          p_Stack_138 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd2])(psStack_12c,0);\n          p_Stack_134 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd3])(psStack_12c,0);\n          if ((p_Stack_134 == (_func_int_void_ptr *)0x0) ||\n             ((char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0')) {\n            psVar41 = (sqlite3 *)0x0;\n            if (0 < (int)psVar31) goto LAB_001079ec;\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n          }\n          else {\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n            if (0 < (int)psVar31) {\n              psVar41 = (sqlite3 *)0x0;\n              if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }\nLAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);\n              do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);\n              pcVar51 = (code *)ppvStack_148[-0x1fda];\n            }\n          }\n        }\n        else {\n          psVar33 = unaff_s7;\n          (*(code *)ppvStack_148[-0x1eff])(psVar44,0);\nLAB_00107790:\n          pcVar51 = (code *)ppvStack_148[-0x1fda];\n        }\n        unaff_s8 = (sqlite3 *)(*pcVar51)(psStack_12c);\n        if (unaff_s8 == (sqlite3 *)0x0) {\n          psVar6 = ((sqlite3_vtab *)&psVar44->pVfs)->pModule;\n          if (((int)pHStack_e0 < 0) && (psVar6 < (sqlite3_module *)-(int)pHStack_e0)) {\n            psVar6 = (sqlite3_module *)0x0;\n          }\n          else {\n            psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6);\n          }\n          ((sqlite3_vtab *)&psVar44->pVfs)->pModule = psVar6;\n          ppVVar24 = &psVar44->pVdbe;\n          if (-1 < (int)psVar29->mDbFlags) {\n            iVar5 = 0;\n            do {\n              while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30) {\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }\n              iVar5 = iVar5 + 1;\n              *ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);\n              psVar49 = (sqlite3 *)&psVar49->pVdbe;\n              ppVVar24 = ppVVar24 + 1;\n              apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n            } while (iVar5 <= (int)psVar29->mDbFlags);\n          }\nLAB_00107834:\n          unaff_s7 = (sqlite3 *)((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler);\n          psVar41 = (sqlite3 *)0x0;\n          psVar38 = psVar44;\n          if (0 < (int)psVar31) {\n            do {\n              pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);\n              psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;\n              pbVar4 = pbVar36;\n              do {\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              } while (psVar30 != (sqlite3_module *)0x0);\n              psVar38 = (sqlite3 *)&psVar38->pVdbe;\n              *pbVar34 = bVar26 & 0x7f;\n              psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));\n              unaff_s8 = psVar41;\n            } while (unaff_s7 != psVar38);\n          }\n          psVar35 = (sqlite3 *)0x0;\n          psVar33 = psStack_140;\n          psVar41 = (sqlite3 *)(*p_Stack_13c)(psVar29);\n          unaff_s5 = psVar49;\n          unaff_s6 = (sqlite3 *)apVal;\n          if (psVar41 == (sqlite3 *)0x0) {\n            (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1,0);\n            ppvStack_150 = (void **)0x0;\n            psVar33 = unaff_s7;\n            psVar35 = unaff_s8;\n            (*(code *)ppvStack_148[-0x1f6d])(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n            psVar6 = (sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c);\n            pcVar51 = (code *)ppvStack_148[-0x1f6b];\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = psVar6;\n            (*pcVar51)(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe4])();\n          }\n          else {\n            psStack_140 = psVar41;\n            (*(code *)ppvStack_148[-0x1fe4])();\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (*(code *)ppvStack_148[-0x1fe4])();\n      ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)unaff_s8;\n    }\n  }" if (parenthesized_expression "(((sqlite3_vtab *)&psVar42->pVfs)->pModule == (sqlite3_module *)0x0)" ( (binary_expression "((sqlite3_vtab *)&psVar42->pVfs)->pModule == (sqlite3_module *)0x0" (field_expression "((sqlite3_vtab *)&psVar42->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar42->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar42->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar42->pVfs" & (field_expression "psVar42->pVfs" identifier -> field_identifier))) )) -> field_identifier) == (cast_expression "(sqlite3_module *)0x0" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar39 = psVar29->mDbFlags;\n    psVar31 = (sqlite3 *)(uVar39 + 2);\n    psVar33 = (sqlite3 *)((uint)psVar31 >> 0x1d);\n    psVar43 = (sqlite3 *)\n              ((uint)((int)psVar31 * 7) >> 0x1f |\n              ((((uint)psVar33 | ((int)psVar31 >> 0x1f) << 3) - ((int)psVar31 >> 0x1f)) -\n              (uint)((uint)((int)psVar31 * 8) < (uint)((int)psVar31 * 7))) * 2);\n    psVar44 = (sqlite3 *)(*(code *)pHVar53[0x5413].data)(psVar43,(int)psVar31 * 0xe);\n    psVar20 = psVar29;\n    unaff_s5 = psVar49;\n    unaff_s6 = (sqlite3 *)apVal;\n    if (psVar44 == (sqlite3 *)0x0) {\n      ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)0x7;\n    }\n    else {\n      psVar33 = (sqlite3 *)&psStack_12c;\n      psVar35 = (sqlite3 *)0x0;\n      p_Stack_13c = (_func_int_void_ptr *)((int)ppvStack_148[-0x1f4c] + 0x7f20);\n      psStack_140 = psVar33;\n      unaff_s8 = (sqlite3 *)\n                 fts3SqlStmt((Fts3Table *)psVar29,0x16,(sqlite3_stmt **)psVar33,\n                             (sqlite3_value **)0x0);\n      psVar43 = psVar44;\n      if (unaff_s8 == (sqlite3 *)0x0) {\n        psVar33 = (sqlite3 *)0x0;\n        unaff_s7 = (sqlite3 *)(uVar39 * 4 + 8);\n        (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1);\n        iVar5 = (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n        if (iVar5 == 100) {\n          p_Stack_138 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd2])(psStack_12c,0);\n          p_Stack_134 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd3])(psStack_12c,0);\n          if ((p_Stack_134 == (_func_int_void_ptr *)0x0) ||\n             ((char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0')) {\n            psVar41 = (sqlite3 *)0x0;\n            if (0 < (int)psVar31) goto LAB_001079ec;\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n          }\n          else {\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n            if (0 < (int)psVar31) {\n              psVar41 = (sqlite3 *)0x0;\n              if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }\nLAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);\n              do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);\n              pcVar51 = (code *)ppvStack_148[-0x1fda];\n            }\n          }\n        }\n        else {\n          psVar33 = unaff_s7;\n          (*(code *)ppvStack_148[-0x1eff])(psVar44,0);\nLAB_00107790:\n          pcVar51 = (code *)ppvStack_148[-0x1fda];\n        }\n        unaff_s8 = (sqlite3 *)(*pcVar51)(psStack_12c);\n        if (unaff_s8 == (sqlite3 *)0x0) {\n          psVar6 = ((sqlite3_vtab *)&psVar44->pVfs)->pModule;\n          if (((int)pHStack_e0 < 0) && (psVar6 < (sqlite3_module *)-(int)pHStack_e0)) {\n            psVar6 = (sqlite3_module *)0x0;\n          }\n          else {\n            psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6);\n          }\n          ((sqlite3_vtab *)&psVar44->pVfs)->pModule = psVar6;\n          ppVVar24 = &psVar44->pVdbe;\n          if (-1 < (int)psVar29->mDbFlags) {\n            iVar5 = 0;\n            do {\n              while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30) {\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }\n              iVar5 = iVar5 + 1;\n              *ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);\n              psVar49 = (sqlite3 *)&psVar49->pVdbe;\n              ppVVar24 = ppVVar24 + 1;\n              apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n            } while (iVar5 <= (int)psVar29->mDbFlags);\n          }\nLAB_00107834:\n          unaff_s7 = (sqlite3 *)((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler);\n          psVar41 = (sqlite3 *)0x0;\n          psVar38 = psVar44;\n          if (0 < (int)psVar31) {\n            do {\n              pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);\n              psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;\n              pbVar4 = pbVar36;\n              do {\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              } while (psVar30 != (sqlite3_module *)0x0);\n              psVar38 = (sqlite3 *)&psVar38->pVdbe;\n              *pbVar34 = bVar26 & 0x7f;\n              psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));\n              unaff_s8 = psVar41;\n            } while (unaff_s7 != psVar38);\n          }\n          psVar35 = (sqlite3 *)0x0;\n          psVar33 = psStack_140;\n          psVar41 = (sqlite3 *)(*p_Stack_13c)(psVar29);\n          unaff_s5 = psVar49;\n          unaff_s6 = (sqlite3 *)apVal;\n          if (psVar41 == (sqlite3 *)0x0) {\n            (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1,0);\n            ppvStack_150 = (void **)0x0;\n            psVar33 = unaff_s7;\n            psVar35 = unaff_s8;\n            (*(code *)ppvStack_148[-0x1f6d])(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n            psVar6 = (sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c);\n            pcVar51 = (code *)ppvStack_148[-0x1f6b];\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = psVar6;\n            (*pcVar51)(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe4])();\n          }\n          else {\n            psStack_140 = psVar41;\n            (*(code *)ppvStack_148[-0x1fe4])();\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (*(code *)ppvStack_148[-0x1fe4])();\n      ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)unaff_s8;\n    }\n  }" { (expression_statement "uVar39 = psVar29->mDbFlags;" (assignment_expression "uVar39 = psVar29->mDbFlags" identifier = (field_expression "psVar29->mDbFlags" identifier -> field_identifier)) ;) (expression_statement "psVar31 = (sqlite3 *)(uVar39 + 2);" (assignment_expression "psVar31 = (sqlite3 *)(uVar39 + 2)" identifier = (cast_expression "(sqlite3 *)(uVar39 + 2)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar39 + 2)" ( (binary_expression "uVar39 + 2" identifier + number_literal) )))) ;) (expression_statement "psVar33 = (sqlite3 *)((uint)psVar31 >> 0x1d);" (assignment_expression "psVar33 = (sqlite3 *)((uint)psVar31 >> 0x1d)" identifier = (cast_expression "(sqlite3 *)((uint)psVar31 >> 0x1d)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)psVar31 >> 0x1d)" ( (binary_expression "(uint)psVar31 >> 0x1d" (cast_expression "(uint)psVar31" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "psVar43 = (sqlite3 *)\n              ((uint)((int)psVar31 * 7) >> 0x1f |\n              ((((uint)psVar33 | ((int)psVar31 >> 0x1f) << 3) - ((int)psVar31 >> 0x1f)) -\n              (uint)((uint)((int)psVar31 * 8) < (uint)((int)psVar31 * 7))) * 2);" (assignment_expression "psVar43 = (sqlite3 *)\n              ((uint)((int)psVar31 * 7) >> 0x1f |\n              ((((uint)psVar33 | ((int)psVar31 >> 0x1f) << 3) - ((int)psVar31 >> 0x1f)) -\n              (uint)((uint)((int)psVar31 * 8) < (uint)((int)psVar31 * 7))) * 2)" identifier = (cast_expression "(sqlite3 *)\n              ((uint)((int)psVar31 * 7) >> 0x1f |\n              ((((uint)psVar33 | ((int)psVar31 >> 0x1f) << 3) - ((int)psVar31 >> 0x1f)) -\n              (uint)((uint)((int)psVar31 * 8) < (uint)((int)psVar31 * 7))) * 2)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)((int)psVar31 * 7) >> 0x1f |\n              ((((uint)psVar33 | ((int)psVar31 >> 0x1f) << 3) - ((int)psVar31 >> 0x1f)) -\n              (uint)((uint)((int)psVar31 * 8) < (uint)((int)psVar31 * 7))) * 2)" ( (binary_expression "(uint)((int)psVar31 * 7) >> 0x1f |\n              ((((uint)psVar33 | ((int)psVar31 >> 0x1f) << 3) - ((int)psVar31 >> 0x1f)) -\n              (uint)((uint)((int)psVar31 * 8) < (uint)((int)psVar31 * 7))) * 2" (binary_expression "(uint)((int)psVar31 * 7) >> 0x1f" (call_expression "(uint)((int)psVar31 * 7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)psVar31 * 7)" ( (binary_expression "(int)psVar31 * 7" (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) >> number_literal) | (binary_expression "((((uint)psVar33 | ((int)psVar31 >> 0x1f) << 3) - ((int)psVar31 >> 0x1f)) -\n              (uint)((uint)((int)psVar31 * 8) < (uint)((int)psVar31 * 7))) * 2" (parenthesized_expression "((((uint)psVar33 | ((int)psVar31 >> 0x1f) << 3) - ((int)psVar31 >> 0x1f)) -\n              (uint)((uint)((int)psVar31 * 8) < (uint)((int)psVar31 * 7)))" ( (binary_expression "(((uint)psVar33 | ((int)psVar31 >> 0x1f) << 3) - ((int)psVar31 >> 0x1f)) -\n              (uint)((uint)((int)psVar31 * 8) < (uint)((int)psVar31 * 7))" (parenthesized_expression "(((uint)psVar33 | ((int)psVar31 >> 0x1f) << 3) - ((int)psVar31 >> 0x1f))" ( (binary_expression "((uint)psVar33 | ((int)psVar31 >> 0x1f) << 3) - ((int)psVar31 >> 0x1f)" (parenthesized_expression "((uint)psVar33 | ((int)psVar31 >> 0x1f) << 3)" ( (binary_expression "(uint)psVar33 | ((int)psVar31 >> 0x1f) << 3" (cast_expression "(uint)psVar33" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "((int)psVar31 >> 0x1f) << 3" (parenthesized_expression "((int)psVar31 >> 0x1f)" ( (binary_expression "(int)psVar31 >> 0x1f" (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) << number_literal)) )) - (parenthesized_expression "((int)psVar31 >> 0x1f)" ( (binary_expression "(int)psVar31 >> 0x1f" (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)((uint)((int)psVar31 * 8) < (uint)((int)psVar31 * 7))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)((int)psVar31 * 8) < (uint)((int)psVar31 * 7))" ( (binary_expression "(uint)((int)psVar31 * 8) < (uint)((int)psVar31 * 7)" (call_expression "(uint)((int)psVar31 * 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)psVar31 * 8)" ( (binary_expression "(int)psVar31 * 8" (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) < (call_expression "(uint)((int)psVar31 * 7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)psVar31 * 7)" ( (binary_expression "(int)psVar31 * 7" (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) )))) )) * number_literal)) )))) ;) (expression_statement "psVar44 = (sqlite3 *)(*(code *)pHVar53[0x5413].data)(psVar43,(int)psVar31 * 0xe);" (assignment_expression "psVar44 = (sqlite3 *)(*(code *)pHVar53[0x5413].data)(psVar43,(int)psVar31 * 0xe)" identifier = (cast_expression "(sqlite3 *)(*(code *)pHVar53[0x5413].data)(psVar43,(int)psVar31 * 0xe)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pHVar53[0x5413].data)(psVar43,(int)psVar31 * 0xe)" (parenthesized_expression "(*(code *)pHVar53[0x5413].data)" ( (pointer_expression "*(code *)pHVar53[0x5413].data" * (cast_expression "(code *)pHVar53[0x5413].data" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pHVar53[0x5413].data" (subscript_expression "pHVar53[0x5413]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(psVar43,(int)psVar31 * 0xe)" ( identifier , (binary_expression "(int)psVar31 * 0xe" (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))))) ;) (expression_statement "psVar20 = psVar29;" (assignment_expression "psVar20 = psVar29" identifier = identifier) ;) (expression_statement "unaff_s5 = psVar49;" (assignment_expression "unaff_s5 = psVar49" identifier = identifier) ;) (expression_statement "unaff_s6 = (sqlite3 *)apVal;" (assignment_expression "unaff_s6 = (sqlite3 *)apVal" identifier = (cast_expression "(sqlite3 *)apVal" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (psVar44 == (sqlite3 *)0x0) {\n      ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)0x7;\n    }\n    else {\n      psVar33 = (sqlite3 *)&psStack_12c;\n      psVar35 = (sqlite3 *)0x0;\n      p_Stack_13c = (_func_int_void_ptr *)((int)ppvStack_148[-0x1f4c] + 0x7f20);\n      psStack_140 = psVar33;\n      unaff_s8 = (sqlite3 *)\n                 fts3SqlStmt((Fts3Table *)psVar29,0x16,(sqlite3_stmt **)psVar33,\n                             (sqlite3_value **)0x0);\n      psVar43 = psVar44;\n      if (unaff_s8 == (sqlite3 *)0x0) {\n        psVar33 = (sqlite3 *)0x0;\n        unaff_s7 = (sqlite3 *)(uVar39 * 4 + 8);\n        (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1);\n        iVar5 = (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n        if (iVar5 == 100) {\n          p_Stack_138 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd2])(psStack_12c,0);\n          p_Stack_134 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd3])(psStack_12c,0);\n          if ((p_Stack_134 == (_func_int_void_ptr *)0x0) ||\n             ((char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0')) {\n            psVar41 = (sqlite3 *)0x0;\n            if (0 < (int)psVar31) goto LAB_001079ec;\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n          }\n          else {\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n            if (0 < (int)psVar31) {\n              psVar41 = (sqlite3 *)0x0;\n              if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }\nLAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);\n              do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);\n              pcVar51 = (code *)ppvStack_148[-0x1fda];\n            }\n          }\n        }\n        else {\n          psVar33 = unaff_s7;\n          (*(code *)ppvStack_148[-0x1eff])(psVar44,0);\nLAB_00107790:\n          pcVar51 = (code *)ppvStack_148[-0x1fda];\n        }\n        unaff_s8 = (sqlite3 *)(*pcVar51)(psStack_12c);\n        if (unaff_s8 == (sqlite3 *)0x0) {\n          psVar6 = ((sqlite3_vtab *)&psVar44->pVfs)->pModule;\n          if (((int)pHStack_e0 < 0) && (psVar6 < (sqlite3_module *)-(int)pHStack_e0)) {\n            psVar6 = (sqlite3_module *)0x0;\n          }\n          else {\n            psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6);\n          }\n          ((sqlite3_vtab *)&psVar44->pVfs)->pModule = psVar6;\n          ppVVar24 = &psVar44->pVdbe;\n          if (-1 < (int)psVar29->mDbFlags) {\n            iVar5 = 0;\n            do {\n              while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30) {\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }\n              iVar5 = iVar5 + 1;\n              *ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);\n              psVar49 = (sqlite3 *)&psVar49->pVdbe;\n              ppVVar24 = ppVVar24 + 1;\n              apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n            } while (iVar5 <= (int)psVar29->mDbFlags);\n          }\nLAB_00107834:\n          unaff_s7 = (sqlite3 *)((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler);\n          psVar41 = (sqlite3 *)0x0;\n          psVar38 = psVar44;\n          if (0 < (int)psVar31) {\n            do {\n              pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);\n              psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;\n              pbVar4 = pbVar36;\n              do {\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              } while (psVar30 != (sqlite3_module *)0x0);\n              psVar38 = (sqlite3 *)&psVar38->pVdbe;\n              *pbVar34 = bVar26 & 0x7f;\n              psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));\n              unaff_s8 = psVar41;\n            } while (unaff_s7 != psVar38);\n          }\n          psVar35 = (sqlite3 *)0x0;\n          psVar33 = psStack_140;\n          psVar41 = (sqlite3 *)(*p_Stack_13c)(psVar29);\n          unaff_s5 = psVar49;\n          unaff_s6 = (sqlite3 *)apVal;\n          if (psVar41 == (sqlite3 *)0x0) {\n            (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1,0);\n            ppvStack_150 = (void **)0x0;\n            psVar33 = unaff_s7;\n            psVar35 = unaff_s8;\n            (*(code *)ppvStack_148[-0x1f6d])(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n            psVar6 = (sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c);\n            pcVar51 = (code *)ppvStack_148[-0x1f6b];\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = psVar6;\n            (*pcVar51)(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe4])();\n          }\n          else {\n            psStack_140 = psVar41;\n            (*(code *)ppvStack_148[-0x1fe4])();\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (*(code *)ppvStack_148[-0x1fe4])();\n      ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)unaff_s8;\n    }" if (parenthesized_expression "(psVar44 == (sqlite3 *)0x0)" ( (binary_expression "psVar44 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)0x7;\n    }" { (expression_statement "((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)0x7;" (assignment_expression "((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)0x7" (field_expression "((sqlite3_vtab *)&psVar42->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar42->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar42->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar42->pVfs" & (field_expression "psVar42->pVfs" identifier -> field_identifier))) )) -> field_identifier) = (cast_expression "(sqlite3_module *)0x7" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      psVar33 = (sqlite3 *)&psStack_12c;\n      psVar35 = (sqlite3 *)0x0;\n      p_Stack_13c = (_func_int_void_ptr *)((int)ppvStack_148[-0x1f4c] + 0x7f20);\n      psStack_140 = psVar33;\n      unaff_s8 = (sqlite3 *)\n                 fts3SqlStmt((Fts3Table *)psVar29,0x16,(sqlite3_stmt **)psVar33,\n                             (sqlite3_value **)0x0);\n      psVar43 = psVar44;\n      if (unaff_s8 == (sqlite3 *)0x0) {\n        psVar33 = (sqlite3 *)0x0;\n        unaff_s7 = (sqlite3 *)(uVar39 * 4 + 8);\n        (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1);\n        iVar5 = (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n        if (iVar5 == 100) {\n          p_Stack_138 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd2])(psStack_12c,0);\n          p_Stack_134 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd3])(psStack_12c,0);\n          if ((p_Stack_134 == (_func_int_void_ptr *)0x0) ||\n             ((char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0')) {\n            psVar41 = (sqlite3 *)0x0;\n            if (0 < (int)psVar31) goto LAB_001079ec;\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n          }\n          else {\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n            if (0 < (int)psVar31) {\n              psVar41 = (sqlite3 *)0x0;\n              if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }\nLAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);\n              do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);\n              pcVar51 = (code *)ppvStack_148[-0x1fda];\n            }\n          }\n        }\n        else {\n          psVar33 = unaff_s7;\n          (*(code *)ppvStack_148[-0x1eff])(psVar44,0);\nLAB_00107790:\n          pcVar51 = (code *)ppvStack_148[-0x1fda];\n        }\n        unaff_s8 = (sqlite3 *)(*pcVar51)(psStack_12c);\n        if (unaff_s8 == (sqlite3 *)0x0) {\n          psVar6 = ((sqlite3_vtab *)&psVar44->pVfs)->pModule;\n          if (((int)pHStack_e0 < 0) && (psVar6 < (sqlite3_module *)-(int)pHStack_e0)) {\n            psVar6 = (sqlite3_module *)0x0;\n          }\n          else {\n            psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6);\n          }\n          ((sqlite3_vtab *)&psVar44->pVfs)->pModule = psVar6;\n          ppVVar24 = &psVar44->pVdbe;\n          if (-1 < (int)psVar29->mDbFlags) {\n            iVar5 = 0;\n            do {\n              while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30) {\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }\n              iVar5 = iVar5 + 1;\n              *ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);\n              psVar49 = (sqlite3 *)&psVar49->pVdbe;\n              ppVVar24 = ppVVar24 + 1;\n              apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n            } while (iVar5 <= (int)psVar29->mDbFlags);\n          }\nLAB_00107834:\n          unaff_s7 = (sqlite3 *)((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler);\n          psVar41 = (sqlite3 *)0x0;\n          psVar38 = psVar44;\n          if (0 < (int)psVar31) {\n            do {\n              pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);\n              psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;\n              pbVar4 = pbVar36;\n              do {\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              } while (psVar30 != (sqlite3_module *)0x0);\n              psVar38 = (sqlite3 *)&psVar38->pVdbe;\n              *pbVar34 = bVar26 & 0x7f;\n              psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));\n              unaff_s8 = psVar41;\n            } while (unaff_s7 != psVar38);\n          }\n          psVar35 = (sqlite3 *)0x0;\n          psVar33 = psStack_140;\n          psVar41 = (sqlite3 *)(*p_Stack_13c)(psVar29);\n          unaff_s5 = psVar49;\n          unaff_s6 = (sqlite3 *)apVal;\n          if (psVar41 == (sqlite3 *)0x0) {\n            (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1,0);\n            ppvStack_150 = (void **)0x0;\n            psVar33 = unaff_s7;\n            psVar35 = unaff_s8;\n            (*(code *)ppvStack_148[-0x1f6d])(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n            psVar6 = (sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c);\n            pcVar51 = (code *)ppvStack_148[-0x1f6b];\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = psVar6;\n            (*pcVar51)(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe4])();\n          }\n          else {\n            psStack_140 = psVar41;\n            (*(code *)ppvStack_148[-0x1fe4])();\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (*(code *)ppvStack_148[-0x1fe4])();\n      ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)unaff_s8;\n    }" else (compound_statement "{\n      psVar33 = (sqlite3 *)&psStack_12c;\n      psVar35 = (sqlite3 *)0x0;\n      p_Stack_13c = (_func_int_void_ptr *)((int)ppvStack_148[-0x1f4c] + 0x7f20);\n      psStack_140 = psVar33;\n      unaff_s8 = (sqlite3 *)\n                 fts3SqlStmt((Fts3Table *)psVar29,0x16,(sqlite3_stmt **)psVar33,\n                             (sqlite3_value **)0x0);\n      psVar43 = psVar44;\n      if (unaff_s8 == (sqlite3 *)0x0) {\n        psVar33 = (sqlite3 *)0x0;\n        unaff_s7 = (sqlite3 *)(uVar39 * 4 + 8);\n        (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1);\n        iVar5 = (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n        if (iVar5 == 100) {\n          p_Stack_138 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd2])(psStack_12c,0);\n          p_Stack_134 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd3])(psStack_12c,0);\n          if ((p_Stack_134 == (_func_int_void_ptr *)0x0) ||\n             ((char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0')) {\n            psVar41 = (sqlite3 *)0x0;\n            if (0 < (int)psVar31) goto LAB_001079ec;\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n          }\n          else {\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n            if (0 < (int)psVar31) {\n              psVar41 = (sqlite3 *)0x0;\n              if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }\nLAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);\n              do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);\n              pcVar51 = (code *)ppvStack_148[-0x1fda];\n            }\n          }\n        }\n        else {\n          psVar33 = unaff_s7;\n          (*(code *)ppvStack_148[-0x1eff])(psVar44,0);\nLAB_00107790:\n          pcVar51 = (code *)ppvStack_148[-0x1fda];\n        }\n        unaff_s8 = (sqlite3 *)(*pcVar51)(psStack_12c);\n        if (unaff_s8 == (sqlite3 *)0x0) {\n          psVar6 = ((sqlite3_vtab *)&psVar44->pVfs)->pModule;\n          if (((int)pHStack_e0 < 0) && (psVar6 < (sqlite3_module *)-(int)pHStack_e0)) {\n            psVar6 = (sqlite3_module *)0x0;\n          }\n          else {\n            psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6);\n          }\n          ((sqlite3_vtab *)&psVar44->pVfs)->pModule = psVar6;\n          ppVVar24 = &psVar44->pVdbe;\n          if (-1 < (int)psVar29->mDbFlags) {\n            iVar5 = 0;\n            do {\n              while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30) {\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }\n              iVar5 = iVar5 + 1;\n              *ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);\n              psVar49 = (sqlite3 *)&psVar49->pVdbe;\n              ppVVar24 = ppVVar24 + 1;\n              apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n            } while (iVar5 <= (int)psVar29->mDbFlags);\n          }\nLAB_00107834:\n          unaff_s7 = (sqlite3 *)((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler);\n          psVar41 = (sqlite3 *)0x0;\n          psVar38 = psVar44;\n          if (0 < (int)psVar31) {\n            do {\n              pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);\n              psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;\n              pbVar4 = pbVar36;\n              do {\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              } while (psVar30 != (sqlite3_module *)0x0);\n              psVar38 = (sqlite3 *)&psVar38->pVdbe;\n              *pbVar34 = bVar26 & 0x7f;\n              psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));\n              unaff_s8 = psVar41;\n            } while (unaff_s7 != psVar38);\n          }\n          psVar35 = (sqlite3 *)0x0;\n          psVar33 = psStack_140;\n          psVar41 = (sqlite3 *)(*p_Stack_13c)(psVar29);\n          unaff_s5 = psVar49;\n          unaff_s6 = (sqlite3 *)apVal;\n          if (psVar41 == (sqlite3 *)0x0) {\n            (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1,0);\n            ppvStack_150 = (void **)0x0;\n            psVar33 = unaff_s7;\n            psVar35 = unaff_s8;\n            (*(code *)ppvStack_148[-0x1f6d])(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n            psVar6 = (sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c);\n            pcVar51 = (code *)ppvStack_148[-0x1f6b];\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = psVar6;\n            (*pcVar51)(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe4])();\n          }\n          else {\n            psStack_140 = psVar41;\n            (*(code *)ppvStack_148[-0x1fe4])();\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (*(code *)ppvStack_148[-0x1fe4])();\n      ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)unaff_s8;\n    }" { (expression_statement "psVar33 = (sqlite3 *)&psStack_12c;" (assignment_expression "psVar33 = (sqlite3 *)&psStack_12c" identifier = (cast_expression "(sqlite3 *)&psStack_12c" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_12c" & identifier))) ;) (expression_statement "psVar35 = (sqlite3 *)0x0;" (assignment_expression "psVar35 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p_Stack_13c = (_func_int_void_ptr *)((int)ppvStack_148[-0x1f4c] + 0x7f20);" (assignment_expression "p_Stack_13c = (_func_int_void_ptr *)((int)ppvStack_148[-0x1f4c] + 0x7f20)" identifier = (cast_expression "(_func_int_void_ptr *)((int)ppvStack_148[-0x1f4c] + 0x7f20)" ( (type_descriptor "_func_int_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppvStack_148[-0x1f4c] + 0x7f20)" ( (binary_expression "(int)ppvStack_148[-0x1f4c] + 0x7f20" (cast_expression "(int)ppvStack_148[-0x1f4c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppvStack_148[-0x1f4c]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "psStack_140 = psVar33;" (assignment_expression "psStack_140 = psVar33" identifier = identifier) ;) (expression_statement "unaff_s8 = (sqlite3 *)\n                 fts3SqlStmt((Fts3Table *)psVar29,0x16,(sqlite3_stmt **)psVar33,\n                             (sqlite3_value **)0x0);" (assignment_expression "unaff_s8 = (sqlite3 *)\n                 fts3SqlStmt((Fts3Table *)psVar29,0x16,(sqlite3_stmt **)psVar33,\n                             (sqlite3_value **)0x0)" identifier = (cast_expression "(sqlite3 *)\n                 fts3SqlStmt((Fts3Table *)psVar29,0x16,(sqlite3_stmt **)psVar33,\n                             (sqlite3_value **)0x0)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "fts3SqlStmt((Fts3Table *)psVar29,0x16,(sqlite3_stmt **)psVar33,\n                             (sqlite3_value **)0x0)" identifier (argument_list "((Fts3Table *)psVar29,0x16,(sqlite3_stmt **)psVar33,\n                             (sqlite3_value **)0x0)" ( (cast_expression "(Fts3Table *)psVar29" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (cast_expression "(sqlite3_stmt **)psVar33" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))))) ;) (expression_statement "psVar43 = psVar44;" (assignment_expression "psVar43 = psVar44" identifier = identifier) ;) (if_statement "if (unaff_s8 == (sqlite3 *)0x0) {\n        psVar33 = (sqlite3 *)0x0;\n        unaff_s7 = (sqlite3 *)(uVar39 * 4 + 8);\n        (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1);\n        iVar5 = (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n        if (iVar5 == 100) {\n          p_Stack_138 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd2])(psStack_12c,0);\n          p_Stack_134 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd3])(psStack_12c,0);\n          if ((p_Stack_134 == (_func_int_void_ptr *)0x0) ||\n             ((char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0')) {\n            psVar41 = (sqlite3 *)0x0;\n            if (0 < (int)psVar31) goto LAB_001079ec;\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n          }\n          else {\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n            if (0 < (int)psVar31) {\n              psVar41 = (sqlite3 *)0x0;\n              if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }\nLAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);\n              do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);\n              pcVar51 = (code *)ppvStack_148[-0x1fda];\n            }\n          }\n        }\n        else {\n          psVar33 = unaff_s7;\n          (*(code *)ppvStack_148[-0x1eff])(psVar44,0);\nLAB_00107790:\n          pcVar51 = (code *)ppvStack_148[-0x1fda];\n        }\n        unaff_s8 = (sqlite3 *)(*pcVar51)(psStack_12c);\n        if (unaff_s8 == (sqlite3 *)0x0) {\n          psVar6 = ((sqlite3_vtab *)&psVar44->pVfs)->pModule;\n          if (((int)pHStack_e0 < 0) && (psVar6 < (sqlite3_module *)-(int)pHStack_e0)) {\n            psVar6 = (sqlite3_module *)0x0;\n          }\n          else {\n            psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6);\n          }\n          ((sqlite3_vtab *)&psVar44->pVfs)->pModule = psVar6;\n          ppVVar24 = &psVar44->pVdbe;\n          if (-1 < (int)psVar29->mDbFlags) {\n            iVar5 = 0;\n            do {\n              while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30) {\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }\n              iVar5 = iVar5 + 1;\n              *ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);\n              psVar49 = (sqlite3 *)&psVar49->pVdbe;\n              ppVVar24 = ppVVar24 + 1;\n              apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n            } while (iVar5 <= (int)psVar29->mDbFlags);\n          }\nLAB_00107834:\n          unaff_s7 = (sqlite3 *)((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler);\n          psVar41 = (sqlite3 *)0x0;\n          psVar38 = psVar44;\n          if (0 < (int)psVar31) {\n            do {\n              pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);\n              psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;\n              pbVar4 = pbVar36;\n              do {\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              } while (psVar30 != (sqlite3_module *)0x0);\n              psVar38 = (sqlite3 *)&psVar38->pVdbe;\n              *pbVar34 = bVar26 & 0x7f;\n              psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));\n              unaff_s8 = psVar41;\n            } while (unaff_s7 != psVar38);\n          }\n          psVar35 = (sqlite3 *)0x0;\n          psVar33 = psStack_140;\n          psVar41 = (sqlite3 *)(*p_Stack_13c)(psVar29);\n          unaff_s5 = psVar49;\n          unaff_s6 = (sqlite3 *)apVal;\n          if (psVar41 == (sqlite3 *)0x0) {\n            (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1,0);\n            ppvStack_150 = (void **)0x0;\n            psVar33 = unaff_s7;\n            psVar35 = unaff_s8;\n            (*(code *)ppvStack_148[-0x1f6d])(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n            psVar6 = (sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c);\n            pcVar51 = (code *)ppvStack_148[-0x1f6b];\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = psVar6;\n            (*pcVar51)(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe4])();\n          }\n          else {\n            psStack_140 = psVar41;\n            (*(code *)ppvStack_148[-0x1fe4])();\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }" if (parenthesized_expression "(unaff_s8 == (sqlite3 *)0x0)" ( (binary_expression "unaff_s8 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        psVar33 = (sqlite3 *)0x0;\n        unaff_s7 = (sqlite3 *)(uVar39 * 4 + 8);\n        (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1);\n        iVar5 = (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n        if (iVar5 == 100) {\n          p_Stack_138 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd2])(psStack_12c,0);\n          p_Stack_134 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd3])(psStack_12c,0);\n          if ((p_Stack_134 == (_func_int_void_ptr *)0x0) ||\n             ((char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0')) {\n            psVar41 = (sqlite3 *)0x0;\n            if (0 < (int)psVar31) goto LAB_001079ec;\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n          }\n          else {\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n            if (0 < (int)psVar31) {\n              psVar41 = (sqlite3 *)0x0;\n              if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }\nLAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);\n              do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);\n              pcVar51 = (code *)ppvStack_148[-0x1fda];\n            }\n          }\n        }\n        else {\n          psVar33 = unaff_s7;\n          (*(code *)ppvStack_148[-0x1eff])(psVar44,0);\nLAB_00107790:\n          pcVar51 = (code *)ppvStack_148[-0x1fda];\n        }\n        unaff_s8 = (sqlite3 *)(*pcVar51)(psStack_12c);\n        if (unaff_s8 == (sqlite3 *)0x0) {\n          psVar6 = ((sqlite3_vtab *)&psVar44->pVfs)->pModule;\n          if (((int)pHStack_e0 < 0) && (psVar6 < (sqlite3_module *)-(int)pHStack_e0)) {\n            psVar6 = (sqlite3_module *)0x0;\n          }\n          else {\n            psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6);\n          }\n          ((sqlite3_vtab *)&psVar44->pVfs)->pModule = psVar6;\n          ppVVar24 = &psVar44->pVdbe;\n          if (-1 < (int)psVar29->mDbFlags) {\n            iVar5 = 0;\n            do {\n              while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30) {\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }\n              iVar5 = iVar5 + 1;\n              *ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);\n              psVar49 = (sqlite3 *)&psVar49->pVdbe;\n              ppVVar24 = ppVVar24 + 1;\n              apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n            } while (iVar5 <= (int)psVar29->mDbFlags);\n          }\nLAB_00107834:\n          unaff_s7 = (sqlite3 *)((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler);\n          psVar41 = (sqlite3 *)0x0;\n          psVar38 = psVar44;\n          if (0 < (int)psVar31) {\n            do {\n              pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);\n              psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;\n              pbVar4 = pbVar36;\n              do {\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              } while (psVar30 != (sqlite3_module *)0x0);\n              psVar38 = (sqlite3 *)&psVar38->pVdbe;\n              *pbVar34 = bVar26 & 0x7f;\n              psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));\n              unaff_s8 = psVar41;\n            } while (unaff_s7 != psVar38);\n          }\n          psVar35 = (sqlite3 *)0x0;\n          psVar33 = psStack_140;\n          psVar41 = (sqlite3 *)(*p_Stack_13c)(psVar29);\n          unaff_s5 = psVar49;\n          unaff_s6 = (sqlite3 *)apVal;\n          if (psVar41 == (sqlite3 *)0x0) {\n            (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1,0);\n            ppvStack_150 = (void **)0x0;\n            psVar33 = unaff_s7;\n            psVar35 = unaff_s8;\n            (*(code *)ppvStack_148[-0x1f6d])(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n            psVar6 = (sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c);\n            pcVar51 = (code *)ppvStack_148[-0x1f6b];\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = psVar6;\n            (*pcVar51)(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe4])();\n          }\n          else {\n            psStack_140 = psVar41;\n            (*(code *)ppvStack_148[-0x1fe4])();\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }" { (expression_statement "psVar33 = (sqlite3 *)0x0;" (assignment_expression "psVar33 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s7 = (sqlite3 *)(uVar39 * 4 + 8);" (assignment_expression "unaff_s7 = (sqlite3 *)(uVar39 * 4 + 8)" identifier = (cast_expression "(sqlite3 *)(uVar39 * 4 + 8)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar39 * 4 + 8)" ( (binary_expression "uVar39 * 4 + 8" (binary_expression "uVar39 * 4" identifier * number_literal) + number_literal) )))) ;) (expression_statement "(*(code *)ppvStack_148[-0x1f43])(psStack_12c,1);" (call_expression "(*(code *)ppvStack_148[-0x1f43])(psStack_12c,1)" (parenthesized_expression "(*(code *)ppvStack_148[-0x1f43])" ( (pointer_expression "*(code *)ppvStack_148[-0x1f43]" * (cast_expression "(code *)ppvStack_148[-0x1f43]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1f43]" identifier [ number_literal ]))) )) (argument_list "(psStack_12c,1)" ( identifier , number_literal ))) ;) (expression_statement "iVar5 = (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);" (assignment_expression "iVar5 = (*(code *)ppvStack_148[-0x1fe0])(psStack_12c)" identifier = (call_expression "(*(code *)ppvStack_148[-0x1fe0])(psStack_12c)" (parenthesized_expression "(*(code *)ppvStack_148[-0x1fe0])" ( (pointer_expression "*(code *)ppvStack_148[-0x1fe0]" * (cast_expression "(code *)ppvStack_148[-0x1fe0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1fe0]" identifier [ number_literal ]))) )) (argument_list "(psStack_12c)" ( identifier )))) ;) (if_statement "if (iVar5 == 100) {\n          p_Stack_138 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd2])(psStack_12c,0);\n          p_Stack_134 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd3])(psStack_12c,0);\n          if ((p_Stack_134 == (_func_int_void_ptr *)0x0) ||\n             ((char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0')) {\n            psVar41 = (sqlite3 *)0x0;\n            if (0 < (int)psVar31) goto LAB_001079ec;\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n          }\n          else {\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n            if (0 < (int)psVar31) {\n              psVar41 = (sqlite3 *)0x0;\n              if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }\nLAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);\n              do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);\n              pcVar51 = (code *)ppvStack_148[-0x1fda];\n            }\n          }\n        }\n        else {\n          psVar33 = unaff_s7;\n          (*(code *)ppvStack_148[-0x1eff])(psVar44,0);\nLAB_00107790:\n          pcVar51 = (code *)ppvStack_148[-0x1fda];\n        }" if (parenthesized_expression "(iVar5 == 100)" ( (binary_expression "iVar5 == 100" identifier == number_literal) )) (compound_statement "{\n          p_Stack_138 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd2])(psStack_12c,0);\n          p_Stack_134 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd3])(psStack_12c,0);\n          if ((p_Stack_134 == (_func_int_void_ptr *)0x0) ||\n             ((char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0')) {\n            psVar41 = (sqlite3 *)0x0;\n            if (0 < (int)psVar31) goto LAB_001079ec;\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n          }\n          else {\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n            if (0 < (int)psVar31) {\n              psVar41 = (sqlite3 *)0x0;\n              if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }\nLAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);\n              do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);\n              pcVar51 = (code *)ppvStack_148[-0x1fda];\n            }\n          }\n        }" { (expression_statement "p_Stack_138 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd2])(psStack_12c,0);" (assignment_expression "p_Stack_138 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd2])(psStack_12c,0)" identifier = (cast_expression "(_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd2])(psStack_12c,0)" ( (type_descriptor "_func_int_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)ppvStack_148[-0x1fd2])(psStack_12c,0)" (parenthesized_expression "(*(code *)ppvStack_148[-0x1fd2])" ( (pointer_expression "*(code *)ppvStack_148[-0x1fd2]" * (cast_expression "(code *)ppvStack_148[-0x1fd2]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1fd2]" identifier [ number_literal ]))) )) (argument_list "(psStack_12c,0)" ( identifier , number_literal ))))) ;) (expression_statement "p_Stack_134 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd3])(psStack_12c,0);" (assignment_expression "p_Stack_134 = (_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd3])(psStack_12c,0)" identifier = (cast_expression "(_func_int_void_ptr *)(*(code *)ppvStack_148[-0x1fd3])(psStack_12c,0)" ( (type_descriptor "_func_int_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)ppvStack_148[-0x1fd3])(psStack_12c,0)" (parenthesized_expression "(*(code *)ppvStack_148[-0x1fd3])" ( (pointer_expression "*(code *)ppvStack_148[-0x1fd3]" * (cast_expression "(code *)ppvStack_148[-0x1fd3]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1fd3]" identifier [ number_literal ]))) )) (argument_list "(psStack_12c,0)" ( identifier , number_literal ))))) ;) (if_statement "if ((p_Stack_134 == (_func_int_void_ptr *)0x0) ||\n             ((char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0')) {\n            psVar41 = (sqlite3 *)0x0;\n            if (0 < (int)psVar31) goto LAB_001079ec;\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n          }\n          else {\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n            if (0 < (int)psVar31) {\n              psVar41 = (sqlite3 *)0x0;\n              if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }\nLAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);\n              do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);\n              pcVar51 = (code *)ppvStack_148[-0x1fda];\n            }\n          }" if (parenthesized_expression "((p_Stack_134 == (_func_int_void_ptr *)0x0) ||\n             ((char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0'))" ( (binary_expression "(p_Stack_134 == (_func_int_void_ptr *)0x0) ||\n             ((char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0')" (parenthesized_expression "(p_Stack_134 == (_func_int_void_ptr *)0x0)" ( (binary_expression "p_Stack_134 == (_func_int_void_ptr *)0x0" identifier == (cast_expression "(_func_int_void_ptr *)0x0" ( (type_descriptor "_func_int_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0')" ( (binary_expression "(char)(p_Stack_138 + (int)p_Stack_134)[-1] < '\0'" (cast_expression "(char)(p_Stack_138 + (int)p_Stack_134)[-1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "(p_Stack_138 + (int)p_Stack_134)[-1]" (parenthesized_expression "(p_Stack_138 + (int)p_Stack_134)" ( (binary_expression "p_Stack_138 + (int)p_Stack_134" identifier + (cast_expression "(int)p_Stack_134" ( (type_descriptor "int" primitive_type) ) identifier)) )) [ number_literal ])) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            psVar41 = (sqlite3 *)0x0;\n            if (0 < (int)psVar31) goto LAB_001079ec;\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n          }" { (expression_statement "psVar41 = (sqlite3 *)0x0;" (assignment_expression "psVar41 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < (int)psVar31) goto LAB_001079ec;" if (parenthesized_expression "(0 < (int)psVar31)" ( (binary_expression "0 < (int)psVar31" number_literal < (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_001079ec;" goto statement_identifier ;)) (expression_statement "pcVar51 = (code *)ppvStack_148[-0x1fda];" (assignment_expression "pcVar51 = (code *)ppvStack_148[-0x1fda]" identifier = (cast_expression "(code *)ppvStack_148[-0x1fda]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1fda]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n            if (0 < (int)psVar31) {\n              psVar41 = (sqlite3 *)0x0;\n              if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }\nLAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);\n              do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);\n              pcVar51 = (code *)ppvStack_148[-0x1fda];\n            }\n          }" else (compound_statement "{\n            pcVar51 = (code *)ppvStack_148[-0x1fda];\n            if (0 < (int)psVar31) {\n              psVar41 = (sqlite3 *)0x0;\n              if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }\nLAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);\n              do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);\n              pcVar51 = (code *)ppvStack_148[-0x1fda];\n            }\n          }" { (expression_statement "pcVar51 = (code *)ppvStack_148[-0x1fda];" (assignment_expression "pcVar51 = (code *)ppvStack_148[-0x1fda]" identifier = (cast_expression "(code *)ppvStack_148[-0x1fda]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1fda]" identifier [ number_literal ]))) ;) (if_statement "if (0 < (int)psVar31) {\n              psVar41 = (sqlite3 *)0x0;\n              if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }\nLAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);\n              do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);\n              pcVar51 = (code *)ppvStack_148[-0x1fda];\n            }" if (parenthesized_expression "(0 < (int)psVar31)" ( (binary_expression "0 < (int)psVar31" number_literal < (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              psVar41 = (sqlite3 *)0x0;\n              if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }\nLAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);\n              do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);\n              pcVar51 = (code *)ppvStack_148[-0x1fda];\n            }" { (expression_statement "psVar41 = (sqlite3 *)0x0;" (assignment_expression "psVar41 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < (int)p_Stack_134) {\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }" if (parenthesized_expression "(0 < (int)p_Stack_134)" ( (binary_expression "0 < (int)p_Stack_134" number_literal < (cast_expression "(int)p_Stack_134" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                puVar37 = auStack_128;\n                pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);\n                iVar5 = 0;\n                psVar38 = psVar44;\n                do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);\n              }" { (expression_statement "puVar37 = auStack_128;" (assignment_expression "puVar37 = auStack_128" identifier = identifier) ;) (expression_statement "pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74);" (assignment_expression "pcVar51 = (code *)((int)ppvStack_148[-0x1fd5] + 0xf74)" identifier = (cast_expression "(code *)((int)ppvStack_148[-0x1fd5] + 0xf74)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppvStack_148[-0x1fd5] + 0xf74)" ( (binary_expression "(int)ppvStack_148[-0x1fd5] + 0xf74" (cast_expression "(int)ppvStack_148[-0x1fd5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppvStack_148[-0x1fd5]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "psVar38 = psVar44;" (assignment_expression "psVar38 = psVar44" identifier = identifier) ;) (do_statement "do {\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                } while (iVar5 < (int)p_Stack_134);" do (compound_statement "{\n                  iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);\n                  iVar5 = iVar5 + iVar7;\n                  psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                  ((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;\n                  if (psVar31 == psVar41) goto LAB_00107790;\n                  psVar38 = (sqlite3 *)&psVar38->pVdbe;\n                }" { (expression_statement "iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37);" (assignment_expression "iVar7 = (*pcVar51)(p_Stack_138 + iVar5,puVar37)" identifier = (call_expression "(*pcVar51)(p_Stack_138 + iVar5,puVar37)" (parenthesized_expression "(*pcVar51)" ( (pointer_expression "*pcVar51" * identifier) )) (argument_list "(p_Stack_138 + iVar5,puVar37)" ( (binary_expression "p_Stack_138 + iVar5" identifier + identifier) , identifier )))) ;) (expression_statement "iVar5 = iVar5 + iVar7;" (assignment_expression "iVar5 = iVar5 + iVar7" identifier = (binary_expression "iVar5 + iVar7" identifier + identifier)) ;) (expression_statement "psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);" (assignment_expression "psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1)" identifier = (cast_expression "(sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1)" ( (binary_expression "(int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1" (cast_expression "(int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((sqlite3_vtab *)&psVar41->pVfs)->pModule" & (field_expression "((sqlite3_vtab *)&psVar41->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar41->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar41->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar41->pVfs" & (field_expression "psVar41->pVfs" identifier -> field_identifier))) )) -> field_identifier))) + number_literal) )))) ;) (expression_statement "((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124;" (assignment_expression "((sqlite3_vtab *)&psVar38->pVfs)->pModule = psStack_124" (field_expression "((sqlite3_vtab *)&psVar38->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar38->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar38->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar38->pVfs" & (field_expression "psVar38->pVfs" identifier -> field_identifier))) )) -> field_identifier) = identifier) ;) (if_statement "if (psVar31 == psVar41) goto LAB_00107790;" if (parenthesized_expression "(psVar31 == psVar41)" ( (binary_expression "psVar31 == psVar41" identifier == identifier) )) (goto_statement "goto LAB_00107790;" goto statement_identifier ;)) (expression_statement "psVar38 = (sqlite3 *)&psVar38->pVdbe;" (assignment_expression "psVar38 = (sqlite3 *)&psVar38->pVdbe" identifier = (cast_expression "(sqlite3 *)&psVar38->pVdbe" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar38->pVdbe" & (field_expression "psVar38->pVdbe" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "(iVar5 < (int)p_Stack_134)" ( (binary_expression "iVar5 < (int)p_Stack_134" identifier < (cast_expression "(int)p_Stack_134" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (labeled_statement "LAB_001079ec:\n              piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);" statement_identifier : (expression_statement "piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5);" (assignment_expression "piVar8 = psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5)" identifier = (binary_expression "psVar44->aLimit + (int)((int)&psVar41[-1].nDeferredImmCons + 5)" (field_expression "psVar44->aLimit" identifier -> field_identifier) + (cast_expression "(int)((int)&psVar41[-1].nDeferredImmCons + 5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&psVar41[-1].nDeferredImmCons + 5)" ( (binary_expression "(int)&psVar41[-1].nDeferredImmCons + 5" (cast_expression "(int)&psVar41[-1].nDeferredImmCons" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar41[-1].nDeferredImmCons" & (field_expression "psVar41[-1].nDeferredImmCons" (subscript_expression "psVar41[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;)) (do_statement "do {\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              } while ((int)psVar41 < (int)psVar31);" do (compound_statement "{\n                psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);\n                *piVar8 = 0;\n                piVar8 = piVar8 + 1;\n              }" { (expression_statement "psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1);" (assignment_expression "psVar41 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1)" identifier = (cast_expression "(sqlite3 *)((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1)" ( (binary_expression "(int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule + 1" (cast_expression "(int)&((sqlite3_vtab *)&psVar41->pVfs)->pModule" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((sqlite3_vtab *)&psVar41->pVfs)->pModule" & (field_expression "((sqlite3_vtab *)&psVar41->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar41->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar41->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar41->pVfs" & (field_expression "psVar41->pVfs" identifier -> field_identifier))) )) -> field_identifier))) + number_literal) )))) ;) (expression_statement "*piVar8 = 0;" (assignment_expression "*piVar8 = 0" (pointer_expression "*piVar8" * identifier) = number_literal) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)psVar41 < (int)psVar31)" ( (binary_expression "(int)psVar41 < (int)psVar31" (cast_expression "(int)psVar41" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "pcVar51 = (code *)ppvStack_148[-0x1fda];" (assignment_expression "pcVar51 = (code *)ppvStack_148[-0x1fda]" identifier = (cast_expression "(code *)ppvStack_148[-0x1fda]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1fda]" identifier [ number_literal ]))) ;) })) }))) }) (else_clause "else {\n          psVar33 = unaff_s7;\n          (*(code *)ppvStack_148[-0x1eff])(psVar44,0);\nLAB_00107790:\n          pcVar51 = (code *)ppvStack_148[-0x1fda];\n        }" else (compound_statement "{\n          psVar33 = unaff_s7;\n          (*(code *)ppvStack_148[-0x1eff])(psVar44,0);\nLAB_00107790:\n          pcVar51 = (code *)ppvStack_148[-0x1fda];\n        }" { (expression_statement "psVar33 = unaff_s7;" (assignment_expression "psVar33 = unaff_s7" identifier = identifier) ;) (expression_statement "(*(code *)ppvStack_148[-0x1eff])(psVar44,0);" (call_expression "(*(code *)ppvStack_148[-0x1eff])(psVar44,0)" (parenthesized_expression "(*(code *)ppvStack_148[-0x1eff])" ( (pointer_expression "*(code *)ppvStack_148[-0x1eff]" * (cast_expression "(code *)ppvStack_148[-0x1eff]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1eff]" identifier [ number_literal ]))) )) (argument_list "(psVar44,0)" ( identifier , number_literal ))) ;) (labeled_statement "LAB_00107790:\n          pcVar51 = (code *)ppvStack_148[-0x1fda];" statement_identifier : (expression_statement "pcVar51 = (code *)ppvStack_148[-0x1fda];" (assignment_expression "pcVar51 = (code *)ppvStack_148[-0x1fda]" identifier = (cast_expression "(code *)ppvStack_148[-0x1fda]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1fda]" identifier [ number_literal ]))) ;)) }))) (expression_statement "unaff_s8 = (sqlite3 *)(*pcVar51)(psStack_12c);" (assignment_expression "unaff_s8 = (sqlite3 *)(*pcVar51)(psStack_12c)" identifier = (cast_expression "(sqlite3 *)(*pcVar51)(psStack_12c)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar51)(psStack_12c)" (parenthesized_expression "(*pcVar51)" ( (pointer_expression "*pcVar51" * identifier) )) (argument_list "(psStack_12c)" ( identifier ))))) ;) (if_statement "if (unaff_s8 == (sqlite3 *)0x0) {\n          psVar6 = ((sqlite3_vtab *)&psVar44->pVfs)->pModule;\n          if (((int)pHStack_e0 < 0) && (psVar6 < (sqlite3_module *)-(int)pHStack_e0)) {\n            psVar6 = (sqlite3_module *)0x0;\n          }\n          else {\n            psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6);\n          }\n          ((sqlite3_vtab *)&psVar44->pVfs)->pModule = psVar6;\n          ppVVar24 = &psVar44->pVdbe;\n          if (-1 < (int)psVar29->mDbFlags) {\n            iVar5 = 0;\n            do {\n              while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30) {\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }\n              iVar5 = iVar5 + 1;\n              *ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);\n              psVar49 = (sqlite3 *)&psVar49->pVdbe;\n              ppVVar24 = ppVVar24 + 1;\n              apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n            } while (iVar5 <= (int)psVar29->mDbFlags);\n          }\nLAB_00107834:\n          unaff_s7 = (sqlite3 *)((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler);\n          psVar41 = (sqlite3 *)0x0;\n          psVar38 = psVar44;\n          if (0 < (int)psVar31) {\n            do {\n              pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);\n              psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;\n              pbVar4 = pbVar36;\n              do {\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              } while (psVar30 != (sqlite3_module *)0x0);\n              psVar38 = (sqlite3 *)&psVar38->pVdbe;\n              *pbVar34 = bVar26 & 0x7f;\n              psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));\n              unaff_s8 = psVar41;\n            } while (unaff_s7 != psVar38);\n          }\n          psVar35 = (sqlite3 *)0x0;\n          psVar33 = psStack_140;\n          psVar41 = (sqlite3 *)(*p_Stack_13c)(psVar29);\n          unaff_s5 = psVar49;\n          unaff_s6 = (sqlite3 *)apVal;\n          if (psVar41 == (sqlite3 *)0x0) {\n            (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1,0);\n            ppvStack_150 = (void **)0x0;\n            psVar33 = unaff_s7;\n            psVar35 = unaff_s8;\n            (*(code *)ppvStack_148[-0x1f6d])(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n            psVar6 = (sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c);\n            pcVar51 = (code *)ppvStack_148[-0x1f6b];\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = psVar6;\n            (*pcVar51)(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe4])();\n          }\n          else {\n            psStack_140 = psVar41;\n            (*(code *)ppvStack_148[-0x1fe4])();\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140;\n          }\n          goto LAB_0010767c;\n        }" if (parenthesized_expression "(unaff_s8 == (sqlite3 *)0x0)" ( (binary_expression "unaff_s8 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          psVar6 = ((sqlite3_vtab *)&psVar44->pVfs)->pModule;\n          if (((int)pHStack_e0 < 0) && (psVar6 < (sqlite3_module *)-(int)pHStack_e0)) {\n            psVar6 = (sqlite3_module *)0x0;\n          }\n          else {\n            psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6);\n          }\n          ((sqlite3_vtab *)&psVar44->pVfs)->pModule = psVar6;\n          ppVVar24 = &psVar44->pVdbe;\n          if (-1 < (int)psVar29->mDbFlags) {\n            iVar5 = 0;\n            do {\n              while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30) {\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }\n              iVar5 = iVar5 + 1;\n              *ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);\n              psVar49 = (sqlite3 *)&psVar49->pVdbe;\n              ppVVar24 = ppVVar24 + 1;\n              apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n            } while (iVar5 <= (int)psVar29->mDbFlags);\n          }\nLAB_00107834:\n          unaff_s7 = (sqlite3 *)((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler);\n          psVar41 = (sqlite3 *)0x0;\n          psVar38 = psVar44;\n          if (0 < (int)psVar31) {\n            do {\n              pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);\n              psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;\n              pbVar4 = pbVar36;\n              do {\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              } while (psVar30 != (sqlite3_module *)0x0);\n              psVar38 = (sqlite3 *)&psVar38->pVdbe;\n              *pbVar34 = bVar26 & 0x7f;\n              psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));\n              unaff_s8 = psVar41;\n            } while (unaff_s7 != psVar38);\n          }\n          psVar35 = (sqlite3 *)0x0;\n          psVar33 = psStack_140;\n          psVar41 = (sqlite3 *)(*p_Stack_13c)(psVar29);\n          unaff_s5 = psVar49;\n          unaff_s6 = (sqlite3 *)apVal;\n          if (psVar41 == (sqlite3 *)0x0) {\n            (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1,0);\n            ppvStack_150 = (void **)0x0;\n            psVar33 = unaff_s7;\n            psVar35 = unaff_s8;\n            (*(code *)ppvStack_148[-0x1f6d])(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n            psVar6 = (sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c);\n            pcVar51 = (code *)ppvStack_148[-0x1f6b];\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = psVar6;\n            (*pcVar51)(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe4])();\n          }\n          else {\n            psStack_140 = psVar41;\n            (*(code *)ppvStack_148[-0x1fe4])();\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140;\n          }\n          goto LAB_0010767c;\n        }" { (expression_statement "psVar6 = ((sqlite3_vtab *)&psVar44->pVfs)->pModule;" (assignment_expression "psVar6 = ((sqlite3_vtab *)&psVar44->pVfs)->pModule" identifier = (field_expression "((sqlite3_vtab *)&psVar44->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar44->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar44->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar44->pVfs" & (field_expression "psVar44->pVfs" identifier -> field_identifier))) )) -> field_identifier)) ;) (if_statement "if (((int)pHStack_e0 < 0) && (psVar6 < (sqlite3_module *)-(int)pHStack_e0)) {\n            psVar6 = (sqlite3_module *)0x0;\n          }\n          else {\n            psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6);\n          }" if (parenthesized_expression "(((int)pHStack_e0 < 0) && (psVar6 < (sqlite3_module *)-(int)pHStack_e0))" ( (binary_expression "((int)pHStack_e0 < 0) && (psVar6 < (sqlite3_module *)-(int)pHStack_e0)" (parenthesized_expression "((int)pHStack_e0 < 0)" ( (binary_expression "(int)pHStack_e0 < 0" (cast_expression "(int)pHStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "(psVar6 < (sqlite3_module *)-(int)pHStack_e0)" ( (binary_expression "psVar6 < (sqlite3_module *)-(int)pHStack_e0" identifier < (cast_expression "(sqlite3_module *)-(int)pHStack_e0" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-(int)pHStack_e0" - (cast_expression "(int)pHStack_e0" ( (type_descriptor "int" primitive_type) ) identifier)))) ))) )) (compound_statement "{\n            psVar6 = (sqlite3_module *)0x0;\n          }" { (expression_statement "psVar6 = (sqlite3_module *)0x0;" (assignment_expression "psVar6 = (sqlite3_module *)0x0" identifier = (cast_expression "(sqlite3_module *)0x0" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6);\n          }" else (compound_statement "{\n            psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6);\n          }" { (expression_statement "psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6);" (assignment_expression "psVar6 = (sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6)" identifier = (cast_expression "(sqlite3_module *)((int)&pHStack_e0->next + (int)psVar6)" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pHStack_e0->next + (int)psVar6)" ( (binary_expression "(int)&pHStack_e0->next + (int)psVar6" (cast_expression "(int)&pHStack_e0->next" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pHStack_e0->next" & (field_expression "pHStack_e0->next" identifier -> field_identifier))) + (cast_expression "(int)psVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) (expression_statement "((sqlite3_vtab *)&psVar44->pVfs)->pModule = psVar6;" (assignment_expression "((sqlite3_vtab *)&psVar44->pVfs)->pModule = psVar6" (field_expression "((sqlite3_vtab *)&psVar44->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar44->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar44->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar44->pVfs" & (field_expression "psVar44->pVfs" identifier -> field_identifier))) )) -> field_identifier) = identifier) ;) (expression_statement "ppVVar24 = &psVar44->pVdbe;" (assignment_expression "ppVVar24 = &psVar44->pVdbe" identifier = (pointer_expression "&psVar44->pVdbe" & (field_expression "psVar44->pVdbe" identifier -> field_identifier))) ;) (if_statement "if (-1 < (int)psVar29->mDbFlags) {\n            iVar5 = 0;\n            do {\n              while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30) {\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }\n              iVar5 = iVar5 + 1;\n              *ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);\n              psVar49 = (sqlite3 *)&psVar49->pVdbe;\n              ppVVar24 = ppVVar24 + 1;\n              apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n            } while (iVar5 <= (int)psVar29->mDbFlags);\n          }" if (parenthesized_expression "(-1 < (int)psVar29->mDbFlags)" ( (binary_expression "-1 < (int)psVar29->mDbFlags" number_literal < (cast_expression "(int)psVar29->mDbFlags" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar29->mDbFlags" identifier -> field_identifier))) )) (compound_statement "{\n            iVar5 = 0;\n            do {\n              while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30) {\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }\n              iVar5 = iVar5 + 1;\n              *ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);\n              psVar49 = (sqlite3 *)&psVar49->pVdbe;\n              ppVVar24 = ppVVar24 + 1;\n              apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n            } while (iVar5 <= (int)psVar29->mDbFlags);\n          }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n              while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30) {\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }\n              iVar5 = iVar5 + 1;\n              *ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);\n              psVar49 = (sqlite3 *)&psVar49->pVdbe;\n              ppVVar24 = ppVVar24 + 1;\n              apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n            } while (iVar5 <= (int)psVar29->mDbFlags);" do (compound_statement "{\n              while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30) {\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }\n              iVar5 = iVar5 + 1;\n              *ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);\n              psVar49 = (sqlite3 *)&psVar49->pVdbe;\n              ppVVar24 = ppVVar24 + 1;\n              apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n            }" { (while_statement "while (psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30) {\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }" while (parenthesized_expression "(psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30)" ( (comma_expression "psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule,\n                    psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30" (assignment_expression "psVar30 = ((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule" identifier = (field_expression "((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs)" ( (cast_expression "(sqlite3_vtab *)&((sqlite3 *)apVal)->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((sqlite3 *)apVal)->pVfs" & (field_expression "((sqlite3 *)apVal)->pVfs" (parenthesized_expression "((sqlite3 *)apVal)" ( (cast_expression "(sqlite3 *)apVal" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) )) -> field_identifier)) , (comma_expression "psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             ), psVar6 < psVar30" (assignment_expression "psVar6 = (sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             )" identifier = (cast_expression "(sqlite3_module *)\n                             ((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             )" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule\n                             )" ( (binary_expression "(int)&(*ppVVar24)->db + (int)((sqlite3_vtab *)&psVar49->pVfs)->pModule" (cast_expression "(int)&(*ppVVar24)->db" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(*ppVVar24)->db" & (field_expression "(*ppVVar24)->db" (parenthesized_expression "(*ppVVar24)" ( (pointer_expression "*ppVVar24" * identifier) )) -> field_identifier))) + (cast_expression "(int)((sqlite3_vtab *)&psVar49->pVfs)->pModule" ( (type_descriptor "int" primitive_type) ) (field_expression "((sqlite3_vtab *)&psVar49->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar49->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar49->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar49->pVfs" & (field_expression "psVar49->pVfs" identifier -> field_identifier))) )) -> field_identifier))) )))) , (binary_expression "psVar6 < psVar30" identifier < identifier))) )) (compound_statement "{\n                iVar5 = iVar5 + 1;\n                *ppVVar24 = (Vdbe *)0x0;\n                psVar49 = (sqlite3 *)&psVar49->pVdbe;\n                ppVVar24 = ppVVar24 + 1;\n                apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;\n                if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;\n              }" { (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "*ppVVar24 = (Vdbe *)0x0;" (assignment_expression "*ppVVar24 = (Vdbe *)0x0" (pointer_expression "*ppVVar24" * identifier) = (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar49 = (sqlite3 *)&psVar49->pVdbe;" (assignment_expression "psVar49 = (sqlite3 *)&psVar49->pVdbe" identifier = (cast_expression "(sqlite3 *)&psVar49->pVdbe" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar49->pVdbe" & (field_expression "psVar49->pVdbe" identifier -> field_identifier)))) ;) (expression_statement "ppVVar24 = ppVVar24 + 1;" (assignment_expression "ppVVar24 = ppVVar24 + 1" identifier = (binary_expression "ppVVar24 + 1" identifier + number_literal)) ;) (expression_statement "apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;" (assignment_expression "apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe" identifier = (cast_expression "(sqlite3_value **)&((sqlite3 *)apVal)->pVdbe" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&((sqlite3 *)apVal)->pVdbe" & (field_expression "((sqlite3 *)apVal)->pVdbe" (parenthesized_expression "((sqlite3 *)apVal)" ( (cast_expression "(sqlite3 *)apVal" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)))) ;) (if_statement "if ((int)psVar29->mDbFlags < iVar5) goto LAB_00107834;" if (parenthesized_expression "((int)psVar29->mDbFlags < iVar5)" ( (binary_expression "(int)psVar29->mDbFlags < iVar5" (cast_expression "(int)psVar29->mDbFlags" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar29->mDbFlags" identifier -> field_identifier)) < identifier) )) (goto_statement "goto LAB_00107834;" goto statement_identifier ;)) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "*ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30);" (assignment_expression "*ppVVar24 = (Vdbe *)((int)psVar6 - (int)psVar30)" (pointer_expression "*ppVVar24" * identifier) = (cast_expression "(Vdbe *)((int)psVar6 - (int)psVar30)" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar6 - (int)psVar30)" ( (binary_expression "(int)psVar6 - (int)psVar30" (cast_expression "(int)psVar6" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)psVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "psVar49 = (sqlite3 *)&psVar49->pVdbe;" (assignment_expression "psVar49 = (sqlite3 *)&psVar49->pVdbe" identifier = (cast_expression "(sqlite3 *)&psVar49->pVdbe" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar49->pVdbe" & (field_expression "psVar49->pVdbe" identifier -> field_identifier)))) ;) (expression_statement "ppVVar24 = ppVVar24 + 1;" (assignment_expression "ppVVar24 = ppVVar24 + 1" identifier = (binary_expression "ppVVar24 + 1" identifier + number_literal)) ;) (expression_statement "apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe;" (assignment_expression "apVal = (sqlite3_value **)&((sqlite3 *)apVal)->pVdbe" identifier = (cast_expression "(sqlite3_value **)&((sqlite3 *)apVal)->pVdbe" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&((sqlite3 *)apVal)->pVdbe" & (field_expression "((sqlite3 *)apVal)->pVdbe" (parenthesized_expression "((sqlite3 *)apVal)" ( (cast_expression "(sqlite3 *)apVal" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)))) ;) }) while (parenthesized_expression "(iVar5 <= (int)psVar29->mDbFlags)" ( (binary_expression "iVar5 <= (int)psVar29->mDbFlags" identifier <= (cast_expression "(int)psVar29->mDbFlags" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar29->mDbFlags" identifier -> field_identifier))) )) ;) })) (labeled_statement "LAB_00107834:\n          unaff_s7 = (sqlite3 *)((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler);" statement_identifier : (expression_statement "unaff_s7 = (sqlite3 *)((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler);" (assignment_expression "unaff_s7 = (sqlite3 *)((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler)" identifier = (cast_expression "(sqlite3 *)((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler)" ( (binary_expression "(int)psVar44->aLimit + (int)&unaff_s7[-1].busyHandler" (cast_expression "(int)psVar44->aLimit" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar44->aLimit" identifier -> field_identifier)) + (cast_expression "(int)&unaff_s7[-1].busyHandler" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s7[-1].busyHandler" & (field_expression "unaff_s7[-1].busyHandler" (subscript_expression "unaff_s7[-1]" identifier [ number_literal ]) . field_identifier)))) )))) ;)) (expression_statement "psVar41 = (sqlite3 *)0x0;" (assignment_expression "psVar41 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar38 = psVar44;" (assignment_expression "psVar38 = psVar44" identifier = identifier) ;) (if_statement "if (0 < (int)psVar31) {\n            do {\n              pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);\n              psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;\n              pbVar4 = pbVar36;\n              do {\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              } while (psVar30 != (sqlite3_module *)0x0);\n              psVar38 = (sqlite3 *)&psVar38->pVdbe;\n              *pbVar34 = bVar26 & 0x7f;\n              psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));\n              unaff_s8 = psVar41;\n            } while (unaff_s7 != psVar38);\n          }" if (parenthesized_expression "(0 < (int)psVar31)" ( (binary_expression "0 < (int)psVar31" number_literal < (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            do {\n              pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);\n              psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;\n              pbVar4 = pbVar36;\n              do {\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              } while (psVar30 != (sqlite3_module *)0x0);\n              psVar38 = (sqlite3 *)&psVar38->pVdbe;\n              *pbVar34 = bVar26 & 0x7f;\n              psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));\n              unaff_s8 = psVar41;\n            } while (unaff_s7 != psVar38);\n          }" { (do_statement "do {\n              pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);\n              psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;\n              pbVar4 = pbVar36;\n              do {\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              } while (psVar30 != (sqlite3_module *)0x0);\n              psVar38 = (sqlite3 *)&psVar38->pVdbe;\n              *pbVar34 = bVar26 & 0x7f;\n              psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));\n              unaff_s8 = psVar41;\n            } while (unaff_s7 != psVar38);" do (compound_statement "{\n              pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);\n              psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;\n              pbVar4 = pbVar36;\n              do {\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              } while (psVar30 != (sqlite3_module *)0x0);\n              psVar38 = (sqlite3 *)&psVar38->pVdbe;\n              *pbVar34 = bVar26 & 0x7f;\n              psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));\n              unaff_s8 = psVar41;\n            }" { (expression_statement "pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler);" (assignment_expression "pbVar36 = (byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler)" identifier = (cast_expression "(byte *)((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler)" ( (binary_expression "(int)unaff_s7->aLimit + (int)&psVar41[-1].busyHandler" (cast_expression "(int)unaff_s7->aLimit" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s7->aLimit" identifier -> field_identifier)) + (cast_expression "(int)&psVar41[-1].busyHandler" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar41[-1].busyHandler" & (field_expression "psVar41[-1].busyHandler" (subscript_expression "psVar41[-1]" identifier [ number_literal ]) . field_identifier)))) )))) ;) (expression_statement "psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule;" (assignment_expression "psVar6 = ((sqlite3_vtab *)&psVar38->pVfs)->pModule" identifier = (field_expression "((sqlite3_vtab *)&psVar38->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar38->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar38->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar38->pVfs" & (field_expression "psVar38->pVfs" identifier -> field_identifier))) )) -> field_identifier)) ;) (expression_statement "pbVar4 = pbVar36;" (assignment_expression "pbVar4 = pbVar36" identifier = identifier) ;) (do_statement "do {\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              } while (psVar30 != (sqlite3_module *)0x0);" do (compound_statement "{\n                pbVar34 = pbVar4;\n                psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);\n                bVar26 = (byte)psVar6;\n                *pbVar34 = bVar26 | 0x80;\n                psVar6 = psVar30;\n                pbVar4 = pbVar34 + 1;\n              }" { (expression_statement "pbVar34 = pbVar4;" (assignment_expression "pbVar34 = pbVar4" identifier = identifier) ;) (expression_statement "psVar30 = (sqlite3_module *)((uint)psVar6 >> 7);" (assignment_expression "psVar30 = (sqlite3_module *)((uint)psVar6 >> 7)" identifier = (cast_expression "(sqlite3_module *)((uint)psVar6 >> 7)" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)psVar6 >> 7)" ( (binary_expression "(uint)psVar6 >> 7" (cast_expression "(uint)psVar6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "bVar26 = (byte)psVar6;" (assignment_expression "bVar26 = (byte)psVar6" identifier = (cast_expression "(byte)psVar6" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pbVar34 = bVar26 | 0x80;" (assignment_expression "*pbVar34 = bVar26 | 0x80" (pointer_expression "*pbVar34" * identifier) = (binary_expression "bVar26 | 0x80" identifier | number_literal)) ;) (expression_statement "psVar6 = psVar30;" (assignment_expression "psVar6 = psVar30" identifier = identifier) ;) (expression_statement "pbVar4 = pbVar34 + 1;" (assignment_expression "pbVar4 = pbVar34 + 1" identifier = (binary_expression "pbVar34 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(psVar30 != (sqlite3_module *)0x0)" ( (binary_expression "psVar30 != (sqlite3_module *)0x0" identifier != (cast_expression "(sqlite3_module *)0x0" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "psVar38 = (sqlite3 *)&psVar38->pVdbe;" (assignment_expression "psVar38 = (sqlite3 *)&psVar38->pVdbe" identifier = (cast_expression "(sqlite3 *)&psVar38->pVdbe" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar38->pVdbe" & (field_expression "psVar38->pVdbe" identifier -> field_identifier)))) ;) (expression_statement "*pbVar34 = bVar26 & 0x7f;" (assignment_expression "*pbVar34 = bVar26 & 0x7f" (pointer_expression "*pbVar34" * identifier) = (binary_expression "bVar26 & 0x7f" identifier & number_literal)) ;) (expression_statement "psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36));" (assignment_expression "psVar41 = (sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36))" identifier = (cast_expression "(sqlite3 *)((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36))" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36))" ( (binary_expression "(int)psVar41 + ((int)(pbVar34 + 1) - (int)pbVar36)" (cast_expression "(int)psVar41" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)(pbVar34 + 1) - (int)pbVar36)" ( (binary_expression "(int)(pbVar34 + 1) - (int)pbVar36" (cast_expression "(int)(pbVar34 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar34 + 1)" ( (binary_expression "pbVar34 + 1" identifier + number_literal) ))) - (cast_expression "(int)pbVar36" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "unaff_s8 = psVar41;" (assignment_expression "unaff_s8 = psVar41" identifier = identifier) ;) }) while (parenthesized_expression "(unaff_s7 != psVar38)" ( (binary_expression "unaff_s7 != psVar38" identifier != identifier) )) ;) })) (expression_statement "psVar35 = (sqlite3 *)0x0;" (assignment_expression "psVar35 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar33 = psStack_140;" (assignment_expression "psVar33 = psStack_140" identifier = identifier) ;) (expression_statement "psVar41 = (sqlite3 *)(*p_Stack_13c)(psVar29);" (assignment_expression "psVar41 = (sqlite3 *)(*p_Stack_13c)(psVar29)" identifier = (cast_expression "(sqlite3 *)(*p_Stack_13c)(psVar29)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*p_Stack_13c)(psVar29)" (parenthesized_expression "(*p_Stack_13c)" ( (pointer_expression "*p_Stack_13c" * identifier) )) (argument_list "(psVar29)" ( identifier ))))) ;) (expression_statement "unaff_s5 = psVar49;" (assignment_expression "unaff_s5 = psVar49" identifier = identifier) ;) (expression_statement "unaff_s6 = (sqlite3 *)apVal;" (assignment_expression "unaff_s6 = (sqlite3 *)apVal" identifier = (cast_expression "(sqlite3 *)apVal" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (psVar41 == (sqlite3 *)0x0) {\n            (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1,0);\n            ppvStack_150 = (void **)0x0;\n            psVar33 = unaff_s7;\n            psVar35 = unaff_s8;\n            (*(code *)ppvStack_148[-0x1f6d])(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n            psVar6 = (sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c);\n            pcVar51 = (code *)ppvStack_148[-0x1f6b];\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = psVar6;\n            (*pcVar51)(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe4])();\n          }\n          else {\n            psStack_140 = psVar41;\n            (*(code *)ppvStack_148[-0x1fe4])();\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140;\n          }" if (parenthesized_expression "(psVar41 == (sqlite3 *)0x0)" ( (binary_expression "psVar41 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*(code *)ppvStack_148[-0x1f43])(psStack_12c,1,0);\n            ppvStack_150 = (void **)0x0;\n            psVar33 = unaff_s7;\n            psVar35 = unaff_s8;\n            (*(code *)ppvStack_148[-0x1f6d])(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe0])(psStack_12c);\n            psVar6 = (sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c);\n            pcVar51 = (code *)ppvStack_148[-0x1f6b];\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = psVar6;\n            (*pcVar51)(psStack_12c,2);\n            (*(code *)ppvStack_148[-0x1fe4])();\n          }" { (expression_statement "(*(code *)ppvStack_148[-0x1f43])(psStack_12c,1,0);" (call_expression "(*(code *)ppvStack_148[-0x1f43])(psStack_12c,1,0)" (parenthesized_expression "(*(code *)ppvStack_148[-0x1f43])" ( (pointer_expression "*(code *)ppvStack_148[-0x1f43]" * (cast_expression "(code *)ppvStack_148[-0x1f43]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1f43]" identifier [ number_literal ]))) )) (argument_list "(psStack_12c,1,0)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "ppvStack_150 = (void **)0x0;" (assignment_expression "ppvStack_150 = (void **)0x0" identifier = (cast_expression "(void **)0x0" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "psVar33 = unaff_s7;" (assignment_expression "psVar33 = unaff_s7" identifier = identifier) ;) (expression_statement "psVar35 = unaff_s8;" (assignment_expression "psVar35 = unaff_s8" identifier = identifier) ;) (expression_statement "(*(code *)ppvStack_148[-0x1f6d])(psStack_12c,2);" (call_expression "(*(code *)ppvStack_148[-0x1f6d])(psStack_12c,2)" (parenthesized_expression "(*(code *)ppvStack_148[-0x1f6d])" ( (pointer_expression "*(code *)ppvStack_148[-0x1f6d]" * (cast_expression "(code *)ppvStack_148[-0x1f6d]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1f6d]" identifier [ number_literal ]))) )) (argument_list "(psStack_12c,2)" ( identifier , number_literal ))) ;) (expression_statement "(*(code *)ppvStack_148[-0x1fe0])(psStack_12c);" (call_expression "(*(code *)ppvStack_148[-0x1fe0])(psStack_12c)" (parenthesized_expression "(*(code *)ppvStack_148[-0x1fe0])" ( (pointer_expression "*(code *)ppvStack_148[-0x1fe0]" * (cast_expression "(code *)ppvStack_148[-0x1fe0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1fe0]" identifier [ number_literal ]))) )) (argument_list "(psStack_12c)" ( identifier ))) ;) (expression_statement "psVar6 = (sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c);" (assignment_expression "psVar6 = (sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c)" identifier = (cast_expression "(sqlite3_module *)(*(code *)ppvStack_148[-0x1fda])(psStack_12c)" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)ppvStack_148[-0x1fda])(psStack_12c)" (parenthesized_expression "(*(code *)ppvStack_148[-0x1fda])" ( (pointer_expression "*(code *)ppvStack_148[-0x1fda]" * (cast_expression "(code *)ppvStack_148[-0x1fda]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1fda]" identifier [ number_literal ]))) )) (argument_list "(psStack_12c)" ( identifier ))))) ;) (expression_statement "pcVar51 = (code *)ppvStack_148[-0x1f6b];" (assignment_expression "pcVar51 = (code *)ppvStack_148[-0x1f6b]" identifier = (cast_expression "(code *)ppvStack_148[-0x1f6b]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1f6b]" identifier [ number_literal ]))) ;) (expression_statement "((sqlite3_vtab *)&psVar42->pVfs)->pModule = psVar6;" (assignment_expression "((sqlite3_vtab *)&psVar42->pVfs)->pModule = psVar6" (field_expression "((sqlite3_vtab *)&psVar42->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar42->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar42->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar42->pVfs" & (field_expression "psVar42->pVfs" identifier -> field_identifier))) )) -> field_identifier) = identifier) ;) (expression_statement "(*pcVar51)(psStack_12c,2);" (call_expression "(*pcVar51)(psStack_12c,2)" (parenthesized_expression "(*pcVar51)" ( (pointer_expression "*pcVar51" * identifier) )) (argument_list "(psStack_12c,2)" ( identifier , number_literal ))) ;) (expression_statement "(*(code *)ppvStack_148[-0x1fe4])();" (call_expression "(*(code *)ppvStack_148[-0x1fe4])()" (parenthesized_expression "(*(code *)ppvStack_148[-0x1fe4])" ( (pointer_expression "*(code *)ppvStack_148[-0x1fe4]" * (cast_expression "(code *)ppvStack_148[-0x1fe4]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1fe4]" identifier [ number_literal ]))) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n            psStack_140 = psVar41;\n            (*(code *)ppvStack_148[-0x1fe4])();\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140;\n          }" else (compound_statement "{\n            psStack_140 = psVar41;\n            (*(code *)ppvStack_148[-0x1fe4])();\n            ((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140;\n          }" { (expression_statement "psStack_140 = psVar41;" (assignment_expression "psStack_140 = psVar41" identifier = identifier) ;) (expression_statement "(*(code *)ppvStack_148[-0x1fe4])();" (call_expression "(*(code *)ppvStack_148[-0x1fe4])()" (parenthesized_expression "(*(code *)ppvStack_148[-0x1fe4])" ( (pointer_expression "*(code *)ppvStack_148[-0x1fe4]" * (cast_expression "(code *)ppvStack_148[-0x1fe4]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1fe4]" identifier [ number_literal ]))) )) (argument_list "()" ( ))) ;) (expression_statement "((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140;" (assignment_expression "((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)psStack_140" (field_expression "((sqlite3_vtab *)&psVar42->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar42->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar42->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar42->pVfs" & (field_expression "psVar42->pVfs" identifier -> field_identifier))) )) -> field_identifier) = (cast_expression "(sqlite3_module *)psStack_140" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (goto_statement "goto LAB_0010767c;" goto statement_identifier ;) })) })) (expression_statement "(*(code *)ppvStack_148[-0x1fe4])();" (call_expression "(*(code *)ppvStack_148[-0x1fe4])()" (parenthesized_expression "(*(code *)ppvStack_148[-0x1fe4])" ( (pointer_expression "*(code *)ppvStack_148[-0x1fe4]" * (cast_expression "(code *)ppvStack_148[-0x1fe4]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1fe4]" identifier [ number_literal ]))) )) (argument_list "()" ( ))) ;) (expression_statement "((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)unaff_s8;" (assignment_expression "((sqlite3_vtab *)&psVar42->pVfs)->pModule = (sqlite3_module *)unaff_s8" (field_expression "((sqlite3_vtab *)&psVar42->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar42->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar42->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar42->pVfs" & (field_expression "psVar42->pVfs" identifier -> field_identifier))) )) -> field_identifier) = (cast_expression "(sqlite3_module *)unaff_s8" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) })) (labeled_statement "LAB_0010767c:\n  if (pPStack_11c == (PreUpdate *)(((pthread_mutex_t *)&pHVar52->next)->__data).__lock) {\n    return;\n  }" statement_identifier : (if_statement "if (pPStack_11c == (PreUpdate *)(((pthread_mutex_t *)&pHVar52->next)->__data).__lock) {\n    return;\n  }" if (parenthesized_expression "(pPStack_11c == (PreUpdate *)(((pthread_mutex_t *)&pHVar52->next)->__data).__lock)" ( (binary_expression "pPStack_11c == (PreUpdate *)(((pthread_mutex_t *)&pHVar52->next)->__data).__lock" identifier == (cast_expression "(PreUpdate *)(((pthread_mutex_t *)&pHVar52->next)->__data).__lock" ( (type_descriptor "PreUpdate *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(((pthread_mutex_t *)&pHVar52->next)->__data).__lock" (parenthesized_expression "(((pthread_mutex_t *)&pHVar52->next)->__data)" ( (field_expression "((pthread_mutex_t *)&pHVar52->next)->__data" (parenthesized_expression "((pthread_mutex_t *)&pHVar52->next)" ( (cast_expression "(pthread_mutex_t *)&pHVar52->next" ( (type_descriptor "pthread_mutex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pHVar52->next" & (field_expression "pHVar52->next" identifier -> field_identifier))) )) -> field_identifier) )) . field_identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pcVar51 = (code *)ppvStack_148[-0x1ee8];" (assignment_expression "pcVar51 = (code *)ppvStack_148[-0x1ee8]" identifier = (cast_expression "(code *)ppvStack_148[-0x1ee8]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppvStack_148[-0x1ee8]" identifier [ number_literal ]))) ;) (expression_statement "pcVar56 = fts3NextMethod;" (assignment_expression "pcVar56 = fts3NextMethod" identifier = identifier) ;) (expression_statement "(*pcVar51)();" (call_expression "(*pcVar51)()" (parenthesized_expression "(*pcVar51)" ( (pointer_expression "*pcVar51" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_190 = pcVar51 + 0x5bb2c;" (assignment_expression "pcStack_190 = pcVar51 + 0x5bb2c" identifier = (binary_expression "pcVar51 + 0x5bb2c" identifier + number_literal)) ;) (expression_statement "puVar45 = *(undefined4 **)(pcVar51 + 0x53fa8);" (assignment_expression "puVar45 = *(undefined4 **)(pcVar51 + 0x53fa8)" identifier = (pointer_expression "*(undefined4 **)(pcVar51 + 0x53fa8)" * (cast_expression "(undefined4 **)(pcVar51 + 0x53fa8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar51 + 0x53fa8)" ( (binary_expression "pcVar51 + 0x53fa8" identifier + number_literal) ))))) ;) (expression_statement "psStack_184 = (sqlite3 *)*puVar45;" (assignment_expression "psStack_184 = (sqlite3 *)*puVar45" identifier = (cast_expression "(sqlite3 *)*puVar45" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar45" * identifier))) ;) (expression_statement "pHStack_17c = pHVar52;" (assignment_expression "pHStack_17c = pHVar52" identifier = identifier) ;) (expression_statement "psStack_178 = psVar42;" (assignment_expression "psStack_178 = psVar42" identifier = identifier) ;) (expression_statement "psStack_174 = psVar44;" (assignment_expression "psStack_174 = psVar44" identifier = identifier) ;) (expression_statement "psStack_170 = psVar20;" (assignment_expression "psStack_170 = psVar20" identifier = identifier) ;) (expression_statement "psStack_16c = psVar31;" (assignment_expression "psStack_16c = psVar31" identifier = identifier) ;) (expression_statement "psStack_168 = unaff_s5;" (assignment_expression "psStack_168 = unaff_s5" identifier = identifier) ;) (expression_statement "pcStack_164 = pcVar56;" (assignment_expression "pcStack_164 = pcVar56" identifier = identifier) ;) (if_statement "if (*(ushort *)&psVar43->pVdbe < 2) {\n    iVar5 = (**(code **)(pcVar51 + 0x53bac))((sqlite3 *)psVar43->mutex);\n    if (iVar5 == 100) {\n      uVar58 = (**(code **)(pcStack_190 + -0x7f60))((sqlite3 *)psVar43->mutex,0);\n      psVar41 = (sqlite3 *)0x0;\n      psVar43->flags = uVar58;\n    }\n    else {\n      pcVar51 = *(code **)(pcStack_190 + -0x7f68);\n      psVar41 = (sqlite3 *)psVar43->mutex;\n      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n      psVar41 = (sqlite3 *)(*pcVar51)(psVar41);\n    }\n  }\n  else {\n    psVar42 = (sqlite3 *)psVar43->aDb;\n    psStack_188 = (sqlite3 *)0x0;\n    if (psVar42 == (sqlite3 *)0x0) {\n      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n    }\n    else {\n      iVar5 = *(int *)(pcVar51 + 0x53c4c);\n      psVar49 = (sqlite3 *)(*(int *)(pcVar51 + 0x53c74) + 0x6888);\n      do {\n        if (*(char *)((int)&psVar43->pVdbe + 3) == '\0') {\n          (**(code **)(pcStack_190 + -0x7f68))((sqlite3 *)psVar43->mutex);\n        }\n        if (psStack_188 == (sqlite3 *)0x0) {\n          psVar33 = (sqlite3 *)&psStack_188;\n          (*(code *)psVar49)(psVar43,psVar42);\n        }\n        cVar2 = *(char *)&psVar42->flags;\n        *(undefined1 *)((int)&psVar43->pVdbe + 3) = 1;\n        *(char *)((int)&psVar43->pVdbe + 2) = cVar2;\n        psVar43->mTrace = '\0';\n        psVar43->noSharedCache = '\0';\n        psVar43->nSqlExec = '\0';\n        psVar43->field_0x5b = 1;\n        puVar27 = (u8 *)psVar42->mDbFlags;\n        *(sqlite3_tokenizer **)((int)&psVar43->flags + 4) =\n             *(sqlite3_tokenizer **)&psVar42->field_0x1c;\n        *(u8 **)&psVar43->flags = puVar27;\n      } while ((cVar2 == '\0') &&\n              (iVar7 = sqlite3Fts3EvalTestDeferred((Fts3Cursor *)psVar43,(int *)&psStack_188),\n              iVar7 != 0));\n      psVar41 = psStack_188;\n      psVar20 = (sqlite3 *)&psStack_188;\n      psVar31 = (sqlite3 *)(iVar5 + 0x5348);\n      unaff_s5 = psVar49;\n      if (psStack_188 != (sqlite3 *)0x0) goto LAB_00107b8c;\n    }\n    puVar27 = *(u8 **)&psVar43->flags;\n    if (*(char *)((int)&psVar43->szMmap + 4) == '\0') {\n      if ((int)puVar27 <= (int)*(u8 **)&psVar43->temp_store) {\n        if (*(u8 **)&psVar43->temp_store != puVar27) goto LAB_00107c24;\n        if (*(sqlite3_tokenizer **)((int)&psVar43->flags + 4) <=\n            *(sqlite3_tokenizer **)&psVar43->nextAutovac) {\n          psVar41 = (sqlite3 *)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if ((psVar43->iSysErrno <= (int)puVar27) &&\n            (((u8 *)psVar43->iSysErrno != puVar27 ||\n             (*(sqlite3_tokenizer **)&psVar43->dbOptFlags <=\n              *(sqlite3_tokenizer **)((int)&psVar43->flags + 4))))) {\nLAB_00107c24:\n      psVar41 = (sqlite3 *)0x0;\n      goto LAB_00107b8c;\n    }\n    psVar41 = (sqlite3 *)0x0;\n    *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n  }" if (parenthesized_expression "(*(ushort *)&psVar43->pVdbe < 2)" ( (binary_expression "*(ushort *)&psVar43->pVdbe < 2" (pointer_expression "*(ushort *)&psVar43->pVdbe" * (cast_expression "(ushort *)&psVar43->pVdbe" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar43->pVdbe" & (field_expression "psVar43->pVdbe" identifier -> field_identifier)))) < number_literal) )) (compound_statement "{\n    iVar5 = (**(code **)(pcVar51 + 0x53bac))((sqlite3 *)psVar43->mutex);\n    if (iVar5 == 100) {\n      uVar58 = (**(code **)(pcStack_190 + -0x7f60))((sqlite3 *)psVar43->mutex,0);\n      psVar41 = (sqlite3 *)0x0;\n      psVar43->flags = uVar58;\n    }\n    else {\n      pcVar51 = *(code **)(pcStack_190 + -0x7f68);\n      psVar41 = (sqlite3 *)psVar43->mutex;\n      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n      psVar41 = (sqlite3 *)(*pcVar51)(psVar41);\n    }\n  }" { (expression_statement "iVar5 = (**(code **)(pcVar51 + 0x53bac))((sqlite3 *)psVar43->mutex);" (assignment_expression "iVar5 = (**(code **)(pcVar51 + 0x53bac))((sqlite3 *)psVar43->mutex)" identifier = (call_expression "(**(code **)(pcVar51 + 0x53bac))((sqlite3 *)psVar43->mutex)" (parenthesized_expression "(**(code **)(pcVar51 + 0x53bac))" ( (pointer_expression "**(code **)(pcVar51 + 0x53bac)" * (pointer_expression "*(code **)(pcVar51 + 0x53bac)" * (cast_expression "(code **)(pcVar51 + 0x53bac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar51 + 0x53bac)" ( (binary_expression "pcVar51 + 0x53bac" identifier + number_literal) ))))) )) (argument_list "((sqlite3 *)psVar43->mutex)" ( (cast_expression "(sqlite3 *)psVar43->mutex" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->mutex" identifier -> field_identifier)) )))) ;) (if_statement "if (iVar5 == 100) {\n      uVar58 = (**(code **)(pcStack_190 + -0x7f60))((sqlite3 *)psVar43->mutex,0);\n      psVar41 = (sqlite3 *)0x0;\n      psVar43->flags = uVar58;\n    }\n    else {\n      pcVar51 = *(code **)(pcStack_190 + -0x7f68);\n      psVar41 = (sqlite3 *)psVar43->mutex;\n      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n      psVar41 = (sqlite3 *)(*pcVar51)(psVar41);\n    }" if (parenthesized_expression "(iVar5 == 100)" ( (binary_expression "iVar5 == 100" identifier == number_literal) )) (compound_statement "{\n      uVar58 = (**(code **)(pcStack_190 + -0x7f60))((sqlite3 *)psVar43->mutex,0);\n      psVar41 = (sqlite3 *)0x0;\n      psVar43->flags = uVar58;\n    }" { (expression_statement "uVar58 = (**(code **)(pcStack_190 + -0x7f60))((sqlite3 *)psVar43->mutex,0);" (assignment_expression "uVar58 = (**(code **)(pcStack_190 + -0x7f60))((sqlite3 *)psVar43->mutex,0)" identifier = (call_expression "(**(code **)(pcStack_190 + -0x7f60))((sqlite3 *)psVar43->mutex,0)" (parenthesized_expression "(**(code **)(pcStack_190 + -0x7f60))" ( (pointer_expression "**(code **)(pcStack_190 + -0x7f60)" * (pointer_expression "*(code **)(pcStack_190 + -0x7f60)" * (cast_expression "(code **)(pcStack_190 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_190 + -0x7f60)" ( (binary_expression "pcStack_190 + -0x7f60" identifier + number_literal) ))))) )) (argument_list "((sqlite3 *)psVar43->mutex,0)" ( (cast_expression "(sqlite3 *)psVar43->mutex" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->mutex" identifier -> field_identifier)) , number_literal )))) ;) (expression_statement "psVar41 = (sqlite3 *)0x0;" (assignment_expression "psVar41 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar43->flags = uVar58;" (assignment_expression "psVar43->flags = uVar58" (field_expression "psVar43->flags" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n      pcVar51 = *(code **)(pcStack_190 + -0x7f68);\n      psVar41 = (sqlite3 *)psVar43->mutex;\n      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n      psVar41 = (sqlite3 *)(*pcVar51)(psVar41);\n    }" else (compound_statement "{\n      pcVar51 = *(code **)(pcStack_190 + -0x7f68);\n      psVar41 = (sqlite3 *)psVar43->mutex;\n      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n      psVar41 = (sqlite3 *)(*pcVar51)(psVar41);\n    }" { (expression_statement "pcVar51 = *(code **)(pcStack_190 + -0x7f68);" (assignment_expression "pcVar51 = *(code **)(pcStack_190 + -0x7f68)" identifier = (pointer_expression "*(code **)(pcStack_190 + -0x7f68)" * (cast_expression "(code **)(pcStack_190 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_190 + -0x7f68)" ( (binary_expression "pcStack_190 + -0x7f68" identifier + number_literal) ))))) ;) (expression_statement "psVar41 = (sqlite3 *)psVar43->mutex;" (assignment_expression "psVar41 = (sqlite3 *)psVar43->mutex" identifier = (cast_expression "(sqlite3 *)psVar43->mutex" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->mutex" identifier -> field_identifier))) ;) (expression_statement "*(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;" (assignment_expression "*(undefined1 *)((int)&psVar43->pVdbe + 2) = 1" (pointer_expression "*(undefined1 *)((int)&psVar43->pVdbe + 2)" * (cast_expression "(undefined1 *)((int)&psVar43->pVdbe + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar43->pVdbe + 2)" ( (binary_expression "(int)&psVar43->pVdbe + 2" (cast_expression "(int)&psVar43->pVdbe" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->pVdbe" & (field_expression "psVar43->pVdbe" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "psVar41 = (sqlite3 *)(*pcVar51)(psVar41);" (assignment_expression "psVar41 = (sqlite3 *)(*pcVar51)(psVar41)" identifier = (cast_expression "(sqlite3 *)(*pcVar51)(psVar41)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar51)(psVar41)" (parenthesized_expression "(*pcVar51)" ( (pointer_expression "*pcVar51" * identifier) )) (argument_list "(psVar41)" ( identifier ))))) ;) }))) }) (else_clause "else {\n    psVar42 = (sqlite3 *)psVar43->aDb;\n    psStack_188 = (sqlite3 *)0x0;\n    if (psVar42 == (sqlite3 *)0x0) {\n      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n    }\n    else {\n      iVar5 = *(int *)(pcVar51 + 0x53c4c);\n      psVar49 = (sqlite3 *)(*(int *)(pcVar51 + 0x53c74) + 0x6888);\n      do {\n        if (*(char *)((int)&psVar43->pVdbe + 3) == '\0') {\n          (**(code **)(pcStack_190 + -0x7f68))((sqlite3 *)psVar43->mutex);\n        }\n        if (psStack_188 == (sqlite3 *)0x0) {\n          psVar33 = (sqlite3 *)&psStack_188;\n          (*(code *)psVar49)(psVar43,psVar42);\n        }\n        cVar2 = *(char *)&psVar42->flags;\n        *(undefined1 *)((int)&psVar43->pVdbe + 3) = 1;\n        *(char *)((int)&psVar43->pVdbe + 2) = cVar2;\n        psVar43->mTrace = '\0';\n        psVar43->noSharedCache = '\0';\n        psVar43->nSqlExec = '\0';\n        psVar43->field_0x5b = 1;\n        puVar27 = (u8 *)psVar42->mDbFlags;\n        *(sqlite3_tokenizer **)((int)&psVar43->flags + 4) =\n             *(sqlite3_tokenizer **)&psVar42->field_0x1c;\n        *(u8 **)&psVar43->flags = puVar27;\n      } while ((cVar2 == '\0') &&\n              (iVar7 = sqlite3Fts3EvalTestDeferred((Fts3Cursor *)psVar43,(int *)&psStack_188),\n              iVar7 != 0));\n      psVar41 = psStack_188;\n      psVar20 = (sqlite3 *)&psStack_188;\n      psVar31 = (sqlite3 *)(iVar5 + 0x5348);\n      unaff_s5 = psVar49;\n      if (psStack_188 != (sqlite3 *)0x0) goto LAB_00107b8c;\n    }\n    puVar27 = *(u8 **)&psVar43->flags;\n    if (*(char *)((int)&psVar43->szMmap + 4) == '\0') {\n      if ((int)puVar27 <= (int)*(u8 **)&psVar43->temp_store) {\n        if (*(u8 **)&psVar43->temp_store != puVar27) goto LAB_00107c24;\n        if (*(sqlite3_tokenizer **)((int)&psVar43->flags + 4) <=\n            *(sqlite3_tokenizer **)&psVar43->nextAutovac) {\n          psVar41 = (sqlite3 *)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if ((psVar43->iSysErrno <= (int)puVar27) &&\n            (((u8 *)psVar43->iSysErrno != puVar27 ||\n             (*(sqlite3_tokenizer **)&psVar43->dbOptFlags <=\n              *(sqlite3_tokenizer **)((int)&psVar43->flags + 4))))) {\nLAB_00107c24:\n      psVar41 = (sqlite3 *)0x0;\n      goto LAB_00107b8c;\n    }\n    psVar41 = (sqlite3 *)0x0;\n    *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n  }" else (compound_statement "{\n    psVar42 = (sqlite3 *)psVar43->aDb;\n    psStack_188 = (sqlite3 *)0x0;\n    if (psVar42 == (sqlite3 *)0x0) {\n      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n    }\n    else {\n      iVar5 = *(int *)(pcVar51 + 0x53c4c);\n      psVar49 = (sqlite3 *)(*(int *)(pcVar51 + 0x53c74) + 0x6888);\n      do {\n        if (*(char *)((int)&psVar43->pVdbe + 3) == '\0') {\n          (**(code **)(pcStack_190 + -0x7f68))((sqlite3 *)psVar43->mutex);\n        }\n        if (psStack_188 == (sqlite3 *)0x0) {\n          psVar33 = (sqlite3 *)&psStack_188;\n          (*(code *)psVar49)(psVar43,psVar42);\n        }\n        cVar2 = *(char *)&psVar42->flags;\n        *(undefined1 *)((int)&psVar43->pVdbe + 3) = 1;\n        *(char *)((int)&psVar43->pVdbe + 2) = cVar2;\n        psVar43->mTrace = '\0';\n        psVar43->noSharedCache = '\0';\n        psVar43->nSqlExec = '\0';\n        psVar43->field_0x5b = 1;\n        puVar27 = (u8 *)psVar42->mDbFlags;\n        *(sqlite3_tokenizer **)((int)&psVar43->flags + 4) =\n             *(sqlite3_tokenizer **)&psVar42->field_0x1c;\n        *(u8 **)&psVar43->flags = puVar27;\n      } while ((cVar2 == '\0') &&\n              (iVar7 = sqlite3Fts3EvalTestDeferred((Fts3Cursor *)psVar43,(int *)&psStack_188),\n              iVar7 != 0));\n      psVar41 = psStack_188;\n      psVar20 = (sqlite3 *)&psStack_188;\n      psVar31 = (sqlite3 *)(iVar5 + 0x5348);\n      unaff_s5 = psVar49;\n      if (psStack_188 != (sqlite3 *)0x0) goto LAB_00107b8c;\n    }\n    puVar27 = *(u8 **)&psVar43->flags;\n    if (*(char *)((int)&psVar43->szMmap + 4) == '\0') {\n      if ((int)puVar27 <= (int)*(u8 **)&psVar43->temp_store) {\n        if (*(u8 **)&psVar43->temp_store != puVar27) goto LAB_00107c24;\n        if (*(sqlite3_tokenizer **)((int)&psVar43->flags + 4) <=\n            *(sqlite3_tokenizer **)&psVar43->nextAutovac) {\n          psVar41 = (sqlite3 *)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if ((psVar43->iSysErrno <= (int)puVar27) &&\n            (((u8 *)psVar43->iSysErrno != puVar27 ||\n             (*(sqlite3_tokenizer **)&psVar43->dbOptFlags <=\n              *(sqlite3_tokenizer **)((int)&psVar43->flags + 4))))) {\nLAB_00107c24:\n      psVar41 = (sqlite3 *)0x0;\n      goto LAB_00107b8c;\n    }\n    psVar41 = (sqlite3 *)0x0;\n    *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n  }" { (expression_statement "psVar42 = (sqlite3 *)psVar43->aDb;" (assignment_expression "psVar42 = (sqlite3 *)psVar43->aDb" identifier = (cast_expression "(sqlite3 *)psVar43->aDb" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->aDb" identifier -> field_identifier))) ;) (expression_statement "psStack_188 = (sqlite3 *)0x0;" (assignment_expression "psStack_188 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (psVar42 == (sqlite3 *)0x0) {\n      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n    }\n    else {\n      iVar5 = *(int *)(pcVar51 + 0x53c4c);\n      psVar49 = (sqlite3 *)(*(int *)(pcVar51 + 0x53c74) + 0x6888);\n      do {\n        if (*(char *)((int)&psVar43->pVdbe + 3) == '\0') {\n          (**(code **)(pcStack_190 + -0x7f68))((sqlite3 *)psVar43->mutex);\n        }\n        if (psStack_188 == (sqlite3 *)0x0) {\n          psVar33 = (sqlite3 *)&psStack_188;\n          (*(code *)psVar49)(psVar43,psVar42);\n        }\n        cVar2 = *(char *)&psVar42->flags;\n        *(undefined1 *)((int)&psVar43->pVdbe + 3) = 1;\n        *(char *)((int)&psVar43->pVdbe + 2) = cVar2;\n        psVar43->mTrace = '\0';\n        psVar43->noSharedCache = '\0';\n        psVar43->nSqlExec = '\0';\n        psVar43->field_0x5b = 1;\n        puVar27 = (u8 *)psVar42->mDbFlags;\n        *(sqlite3_tokenizer **)((int)&psVar43->flags + 4) =\n             *(sqlite3_tokenizer **)&psVar42->field_0x1c;\n        *(u8 **)&psVar43->flags = puVar27;\n      } while ((cVar2 == '\0') &&\n              (iVar7 = sqlite3Fts3EvalTestDeferred((Fts3Cursor *)psVar43,(int *)&psStack_188),\n              iVar7 != 0));\n      psVar41 = psStack_188;\n      psVar20 = (sqlite3 *)&psStack_188;\n      psVar31 = (sqlite3 *)(iVar5 + 0x5348);\n      unaff_s5 = psVar49;\n      if (psStack_188 != (sqlite3 *)0x0) goto LAB_00107b8c;\n    }" if (parenthesized_expression "(psVar42 == (sqlite3 *)0x0)" ( (binary_expression "psVar42 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;\n    }" { (expression_statement "*(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;" (assignment_expression "*(undefined1 *)((int)&psVar43->pVdbe + 2) = 1" (pointer_expression "*(undefined1 *)((int)&psVar43->pVdbe + 2)" * (cast_expression "(undefined1 *)((int)&psVar43->pVdbe + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar43->pVdbe + 2)" ( (binary_expression "(int)&psVar43->pVdbe + 2" (cast_expression "(int)&psVar43->pVdbe" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->pVdbe" & (field_expression "psVar43->pVdbe" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      iVar5 = *(int *)(pcVar51 + 0x53c4c);\n      psVar49 = (sqlite3 *)(*(int *)(pcVar51 + 0x53c74) + 0x6888);\n      do {\n        if (*(char *)((int)&psVar43->pVdbe + 3) == '\0') {\n          (**(code **)(pcStack_190 + -0x7f68))((sqlite3 *)psVar43->mutex);\n        }\n        if (psStack_188 == (sqlite3 *)0x0) {\n          psVar33 = (sqlite3 *)&psStack_188;\n          (*(code *)psVar49)(psVar43,psVar42);\n        }\n        cVar2 = *(char *)&psVar42->flags;\n        *(undefined1 *)((int)&psVar43->pVdbe + 3) = 1;\n        *(char *)((int)&psVar43->pVdbe + 2) = cVar2;\n        psVar43->mTrace = '\0';\n        psVar43->noSharedCache = '\0';\n        psVar43->nSqlExec = '\0';\n        psVar43->field_0x5b = 1;\n        puVar27 = (u8 *)psVar42->mDbFlags;\n        *(sqlite3_tokenizer **)((int)&psVar43->flags + 4) =\n             *(sqlite3_tokenizer **)&psVar42->field_0x1c;\n        *(u8 **)&psVar43->flags = puVar27;\n      } while ((cVar2 == '\0') &&\n              (iVar7 = sqlite3Fts3EvalTestDeferred((Fts3Cursor *)psVar43,(int *)&psStack_188),\n              iVar7 != 0));\n      psVar41 = psStack_188;\n      psVar20 = (sqlite3 *)&psStack_188;\n      psVar31 = (sqlite3 *)(iVar5 + 0x5348);\n      unaff_s5 = psVar49;\n      if (psStack_188 != (sqlite3 *)0x0) goto LAB_00107b8c;\n    }" else (compound_statement "{\n      iVar5 = *(int *)(pcVar51 + 0x53c4c);\n      psVar49 = (sqlite3 *)(*(int *)(pcVar51 + 0x53c74) + 0x6888);\n      do {\n        if (*(char *)((int)&psVar43->pVdbe + 3) == '\0') {\n          (**(code **)(pcStack_190 + -0x7f68))((sqlite3 *)psVar43->mutex);\n        }\n        if (psStack_188 == (sqlite3 *)0x0) {\n          psVar33 = (sqlite3 *)&psStack_188;\n          (*(code *)psVar49)(psVar43,psVar42);\n        }\n        cVar2 = *(char *)&psVar42->flags;\n        *(undefined1 *)((int)&psVar43->pVdbe + 3) = 1;\n        *(char *)((int)&psVar43->pVdbe + 2) = cVar2;\n        psVar43->mTrace = '\0';\n        psVar43->noSharedCache = '\0';\n        psVar43->nSqlExec = '\0';\n        psVar43->field_0x5b = 1;\n        puVar27 = (u8 *)psVar42->mDbFlags;\n        *(sqlite3_tokenizer **)((int)&psVar43->flags + 4) =\n             *(sqlite3_tokenizer **)&psVar42->field_0x1c;\n        *(u8 **)&psVar43->flags = puVar27;\n      } while ((cVar2 == '\0') &&\n              (iVar7 = sqlite3Fts3EvalTestDeferred((Fts3Cursor *)psVar43,(int *)&psStack_188),\n              iVar7 != 0));\n      psVar41 = psStack_188;\n      psVar20 = (sqlite3 *)&psStack_188;\n      psVar31 = (sqlite3 *)(iVar5 + 0x5348);\n      unaff_s5 = psVar49;\n      if (psStack_188 != (sqlite3 *)0x0) goto LAB_00107b8c;\n    }" { (expression_statement "iVar5 = *(int *)(pcVar51 + 0x53c4c);" (assignment_expression "iVar5 = *(int *)(pcVar51 + 0x53c4c)" identifier = (pointer_expression "*(int *)(pcVar51 + 0x53c4c)" * (cast_expression "(int *)(pcVar51 + 0x53c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar51 + 0x53c4c)" ( (binary_expression "pcVar51 + 0x53c4c" identifier + number_literal) ))))) ;) (expression_statement "psVar49 = (sqlite3 *)(*(int *)(pcVar51 + 0x53c74) + 0x6888);" (assignment_expression "psVar49 = (sqlite3 *)(*(int *)(pcVar51 + 0x53c74) + 0x6888)" identifier = (cast_expression "(sqlite3 *)(*(int *)(pcVar51 + 0x53c74) + 0x6888)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar51 + 0x53c74) + 0x6888)" ( (binary_expression "*(int *)(pcVar51 + 0x53c74) + 0x6888" (pointer_expression "*(int *)(pcVar51 + 0x53c74)" * (cast_expression "(int *)(pcVar51 + 0x53c74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar51 + 0x53c74)" ( (binary_expression "pcVar51 + 0x53c74" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n        if (*(char *)((int)&psVar43->pVdbe + 3) == '\0') {\n          (**(code **)(pcStack_190 + -0x7f68))((sqlite3 *)psVar43->mutex);\n        }\n        if (psStack_188 == (sqlite3 *)0x0) {\n          psVar33 = (sqlite3 *)&psStack_188;\n          (*(code *)psVar49)(psVar43,psVar42);\n        }\n        cVar2 = *(char *)&psVar42->flags;\n        *(undefined1 *)((int)&psVar43->pVdbe + 3) = 1;\n        *(char *)((int)&psVar43->pVdbe + 2) = cVar2;\n        psVar43->mTrace = '\0';\n        psVar43->noSharedCache = '\0';\n        psVar43->nSqlExec = '\0';\n        psVar43->field_0x5b = 1;\n        puVar27 = (u8 *)psVar42->mDbFlags;\n        *(sqlite3_tokenizer **)((int)&psVar43->flags + 4) =\n             *(sqlite3_tokenizer **)&psVar42->field_0x1c;\n        *(u8 **)&psVar43->flags = puVar27;\n      } while ((cVar2 == '\0') &&\n              (iVar7 = sqlite3Fts3EvalTestDeferred((Fts3Cursor *)psVar43,(int *)&psStack_188),\n              iVar7 != 0));" do (compound_statement "{\n        if (*(char *)((int)&psVar43->pVdbe + 3) == '\0') {\n          (**(code **)(pcStack_190 + -0x7f68))((sqlite3 *)psVar43->mutex);\n        }\n        if (psStack_188 == (sqlite3 *)0x0) {\n          psVar33 = (sqlite3 *)&psStack_188;\n          (*(code *)psVar49)(psVar43,psVar42);\n        }\n        cVar2 = *(char *)&psVar42->flags;\n        *(undefined1 *)((int)&psVar43->pVdbe + 3) = 1;\n        *(char *)((int)&psVar43->pVdbe + 2) = cVar2;\n        psVar43->mTrace = '\0';\n        psVar43->noSharedCache = '\0';\n        psVar43->nSqlExec = '\0';\n        psVar43->field_0x5b = 1;\n        puVar27 = (u8 *)psVar42->mDbFlags;\n        *(sqlite3_tokenizer **)((int)&psVar43->flags + 4) =\n             *(sqlite3_tokenizer **)&psVar42->field_0x1c;\n        *(u8 **)&psVar43->flags = puVar27;\n      }" { (if_statement "if (*(char *)((int)&psVar43->pVdbe + 3) == '\0') {\n          (**(code **)(pcStack_190 + -0x7f68))((sqlite3 *)psVar43->mutex);\n        }" if (parenthesized_expression "(*(char *)((int)&psVar43->pVdbe + 3) == '\0')" ( (binary_expression "*(char *)((int)&psVar43->pVdbe + 3) == '\0'" (pointer_expression "*(char *)((int)&psVar43->pVdbe + 3)" * (cast_expression "(char *)((int)&psVar43->pVdbe + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar43->pVdbe + 3)" ( (binary_expression "(int)&psVar43->pVdbe + 3" (cast_expression "(int)&psVar43->pVdbe" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->pVdbe" & (field_expression "psVar43->pVdbe" identifier -> field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          (**(code **)(pcStack_190 + -0x7f68))((sqlite3 *)psVar43->mutex);\n        }" { (expression_statement "(**(code **)(pcStack_190 + -0x7f68))((sqlite3 *)psVar43->mutex);" (call_expression "(**(code **)(pcStack_190 + -0x7f68))((sqlite3 *)psVar43->mutex)" (parenthesized_expression "(**(code **)(pcStack_190 + -0x7f68))" ( (pointer_expression "**(code **)(pcStack_190 + -0x7f68)" * (pointer_expression "*(code **)(pcStack_190 + -0x7f68)" * (cast_expression "(code **)(pcStack_190 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_190 + -0x7f68)" ( (binary_expression "pcStack_190 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "((sqlite3 *)psVar43->mutex)" ( (cast_expression "(sqlite3 *)psVar43->mutex" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->mutex" identifier -> field_identifier)) ))) ;) })) (if_statement "if (psStack_188 == (sqlite3 *)0x0) {\n          psVar33 = (sqlite3 *)&psStack_188;\n          (*(code *)psVar49)(psVar43,psVar42);\n        }" if (parenthesized_expression "(psStack_188 == (sqlite3 *)0x0)" ( (binary_expression "psStack_188 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          psVar33 = (sqlite3 *)&psStack_188;\n          (*(code *)psVar49)(psVar43,psVar42);\n        }" { (expression_statement "psVar33 = (sqlite3 *)&psStack_188;" (assignment_expression "psVar33 = (sqlite3 *)&psStack_188" identifier = (cast_expression "(sqlite3 *)&psStack_188" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_188" & identifier))) ;) (expression_statement "(*(code *)psVar49)(psVar43,psVar42);" (call_expression "(*(code *)psVar49)(psVar43,psVar42)" (parenthesized_expression "(*(code *)psVar49)" ( (pointer_expression "*(code *)psVar49" * (cast_expression "(code *)psVar49" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(psVar43,psVar42)" ( identifier , identifier ))) ;) })) (expression_statement "cVar2 = *(char *)&psVar42->flags;" (assignment_expression "cVar2 = *(char *)&psVar42->flags" identifier = (pointer_expression "*(char *)&psVar42->flags" * (cast_expression "(char *)&psVar42->flags" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar42->flags" & (field_expression "psVar42->flags" identifier -> field_identifier))))) ;) (expression_statement "*(undefined1 *)((int)&psVar43->pVdbe + 3) = 1;" (assignment_expression "*(undefined1 *)((int)&psVar43->pVdbe + 3) = 1" (pointer_expression "*(undefined1 *)((int)&psVar43->pVdbe + 3)" * (cast_expression "(undefined1 *)((int)&psVar43->pVdbe + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar43->pVdbe + 3)" ( (binary_expression "(int)&psVar43->pVdbe + 3" (cast_expression "(int)&psVar43->pVdbe" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->pVdbe" & (field_expression "psVar43->pVdbe" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(char *)((int)&psVar43->pVdbe + 2) = cVar2;" (assignment_expression "*(char *)((int)&psVar43->pVdbe + 2) = cVar2" (pointer_expression "*(char *)((int)&psVar43->pVdbe + 2)" * (cast_expression "(char *)((int)&psVar43->pVdbe + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar43->pVdbe + 2)" ( (binary_expression "(int)&psVar43->pVdbe + 2" (cast_expression "(int)&psVar43->pVdbe" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->pVdbe" & (field_expression "psVar43->pVdbe" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "psVar43->mTrace = '\0';" (assignment_expression "psVar43->mTrace = '\0'" (field_expression "psVar43->mTrace" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "psVar43->noSharedCache = '\0';" (assignment_expression "psVar43->noSharedCache = '\0'" (field_expression "psVar43->noSharedCache" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "psVar43->nSqlExec = '\0';" (assignment_expression "psVar43->nSqlExec = '\0'" (field_expression "psVar43->nSqlExec" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "psVar43->field_0x5b = 1;" (assignment_expression "psVar43->field_0x5b = 1" (field_expression "psVar43->field_0x5b" identifier -> field_identifier) = number_literal) ;) (expression_statement "puVar27 = (u8 *)psVar42->mDbFlags;" (assignment_expression "puVar27 = (u8 *)psVar42->mDbFlags" identifier = (cast_expression "(u8 *)psVar42->mDbFlags" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar42->mDbFlags" identifier -> field_identifier))) ;) (expression_statement "*(sqlite3_tokenizer **)((int)&psVar43->flags + 4) =\n             *(sqlite3_tokenizer **)&psVar42->field_0x1c;" (assignment_expression "*(sqlite3_tokenizer **)((int)&psVar43->flags + 4) =\n             *(sqlite3_tokenizer **)&psVar42->field_0x1c" (pointer_expression "*(sqlite3_tokenizer **)((int)&psVar43->flags + 4)" * (cast_expression "(sqlite3_tokenizer **)((int)&psVar43->flags + 4)" ( (type_descriptor "sqlite3_tokenizer **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&psVar43->flags + 4)" ( (binary_expression "(int)&psVar43->flags + 4" (cast_expression "(int)&psVar43->flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->flags" & (field_expression "psVar43->flags" identifier -> field_identifier))) + number_literal) )))) = (pointer_expression "*(sqlite3_tokenizer **)&psVar42->field_0x1c" * (cast_expression "(sqlite3_tokenizer **)&psVar42->field_0x1c" ( (type_descriptor "sqlite3_tokenizer **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar42->field_0x1c" & (field_expression "psVar42->field_0x1c" identifier -> field_identifier))))) ;) (expression_statement "*(u8 **)&psVar43->flags = puVar27;" (assignment_expression "*(u8 **)&psVar43->flags = puVar27" (pointer_expression "*(u8 **)&psVar43->flags" * (cast_expression "(u8 **)&psVar43->flags" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar43->flags" & (field_expression "psVar43->flags" identifier -> field_identifier)))) = identifier) ;) }) while (parenthesized_expression "((cVar2 == '\0') &&\n              (iVar7 = sqlite3Fts3EvalTestDeferred((Fts3Cursor *)psVar43,(int *)&psStack_188),\n              iVar7 != 0))" ( (binary_expression "(cVar2 == '\0') &&\n              (iVar7 = sqlite3Fts3EvalTestDeferred((Fts3Cursor *)psVar43,(int *)&psStack_188),\n              iVar7 != 0)" (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar7 = sqlite3Fts3EvalTestDeferred((Fts3Cursor *)psVar43,(int *)&psStack_188),\n              iVar7 != 0)" ( (comma_expression "iVar7 = sqlite3Fts3EvalTestDeferred((Fts3Cursor *)psVar43,(int *)&psStack_188),\n              iVar7 != 0" (assignment_expression "iVar7 = sqlite3Fts3EvalTestDeferred((Fts3Cursor *)psVar43,(int *)&psStack_188)" identifier = (call_expression "sqlite3Fts3EvalTestDeferred((Fts3Cursor *)psVar43,(int *)&psStack_188)" identifier (argument_list "((Fts3Cursor *)psVar43,(int *)&psStack_188)" ( (cast_expression "(Fts3Cursor *)psVar43" ( (type_descriptor "Fts3Cursor *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int *)&psStack_188" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_188" & identifier)) )))) , (binary_expression "iVar7 != 0" identifier != number_literal)) ))) )) ;) (expression_statement "psVar41 = psStack_188;" (assignment_expression "psVar41 = psStack_188" identifier = identifier) ;) (expression_statement "psVar20 = (sqlite3 *)&psStack_188;" (assignment_expression "psVar20 = (sqlite3 *)&psStack_188" identifier = (cast_expression "(sqlite3 *)&psStack_188" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_188" & identifier))) ;) (expression_statement "psVar31 = (sqlite3 *)(iVar5 + 0x5348);" (assignment_expression "psVar31 = (sqlite3 *)(iVar5 + 0x5348)" identifier = (cast_expression "(sqlite3 *)(iVar5 + 0x5348)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5348)" ( (binary_expression "iVar5 + 0x5348" identifier + number_literal) )))) ;) (expression_statement "unaff_s5 = psVar49;" (assignment_expression "unaff_s5 = psVar49" identifier = identifier) ;) (if_statement "if (psStack_188 != (sqlite3 *)0x0) goto LAB_00107b8c;" if (parenthesized_expression "(psStack_188 != (sqlite3 *)0x0)" ( (binary_expression "psStack_188 != (sqlite3 *)0x0" identifier != (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00107b8c;" goto statement_identifier ;)) }))) (expression_statement "puVar27 = *(u8 **)&psVar43->flags;" (assignment_expression "puVar27 = *(u8 **)&psVar43->flags" identifier = (pointer_expression "*(u8 **)&psVar43->flags" * (cast_expression "(u8 **)&psVar43->flags" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar43->flags" & (field_expression "psVar43->flags" identifier -> field_identifier))))) ;) (if_statement "if (*(char *)((int)&psVar43->szMmap + 4) == '\0') {\n      if ((int)puVar27 <= (int)*(u8 **)&psVar43->temp_store) {\n        if (*(u8 **)&psVar43->temp_store != puVar27) goto LAB_00107c24;\n        if (*(sqlite3_tokenizer **)((int)&psVar43->flags + 4) <=\n            *(sqlite3_tokenizer **)&psVar43->nextAutovac) {\n          psVar41 = (sqlite3 *)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if ((psVar43->iSysErrno <= (int)puVar27) &&\n            (((u8 *)psVar43->iSysErrno != puVar27 ||\n             (*(sqlite3_tokenizer **)&psVar43->dbOptFlags <=\n              *(sqlite3_tokenizer **)((int)&psVar43->flags + 4))))) {\nLAB_00107c24:\n      psVar41 = (sqlite3 *)0x0;\n      goto LAB_00107b8c;\n    }" if (parenthesized_expression "(*(char *)((int)&psVar43->szMmap + 4) == '\0')" ( (binary_expression "*(char *)((int)&psVar43->szMmap + 4) == '\0'" (pointer_expression "*(char *)((int)&psVar43->szMmap + 4)" * (cast_expression "(char *)((int)&psVar43->szMmap + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar43->szMmap + 4)" ( (binary_expression "(int)&psVar43->szMmap + 4" (cast_expression "(int)&psVar43->szMmap" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->szMmap" & (field_expression "psVar43->szMmap" identifier -> field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if ((int)puVar27 <= (int)*(u8 **)&psVar43->temp_store) {\n        if (*(u8 **)&psVar43->temp_store != puVar27) goto LAB_00107c24;\n        if (*(sqlite3_tokenizer **)((int)&psVar43->flags + 4) <=\n            *(sqlite3_tokenizer **)&psVar43->nextAutovac) {\n          psVar41 = (sqlite3 *)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }" { (if_statement "if ((int)puVar27 <= (int)*(u8 **)&psVar43->temp_store) {\n        if (*(u8 **)&psVar43->temp_store != puVar27) goto LAB_00107c24;\n        if (*(sqlite3_tokenizer **)((int)&psVar43->flags + 4) <=\n            *(sqlite3_tokenizer **)&psVar43->nextAutovac) {\n          psVar41 = (sqlite3 *)0x0;\n          goto LAB_00107b8c;\n        }\n      }" if (parenthesized_expression "((int)puVar27 <= (int)*(u8 **)&psVar43->temp_store)" ( (binary_expression "(int)puVar27 <= (int)*(u8 **)&psVar43->temp_store" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)*(u8 **)&psVar43->temp_store" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(u8 **)&psVar43->temp_store" * (cast_expression "(u8 **)&psVar43->temp_store" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar43->temp_store" & (field_expression "psVar43->temp_store" identifier -> field_identifier)))))) )) (compound_statement "{\n        if (*(u8 **)&psVar43->temp_store != puVar27) goto LAB_00107c24;\n        if (*(sqlite3_tokenizer **)((int)&psVar43->flags + 4) <=\n            *(sqlite3_tokenizer **)&psVar43->nextAutovac) {\n          psVar41 = (sqlite3 *)0x0;\n          goto LAB_00107b8c;\n        }\n      }" { (if_statement "if (*(u8 **)&psVar43->temp_store != puVar27) goto LAB_00107c24;" if (parenthesized_expression "(*(u8 **)&psVar43->temp_store != puVar27)" ( (binary_expression "*(u8 **)&psVar43->temp_store != puVar27" (pointer_expression "*(u8 **)&psVar43->temp_store" * (cast_expression "(u8 **)&psVar43->temp_store" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar43->temp_store" & (field_expression "psVar43->temp_store" identifier -> field_identifier)))) != identifier) )) (goto_statement "goto LAB_00107c24;" goto statement_identifier ;)) (if_statement "if (*(sqlite3_tokenizer **)((int)&psVar43->flags + 4) <=\n            *(sqlite3_tokenizer **)&psVar43->nextAutovac) {\n          psVar41 = (sqlite3 *)0x0;\n          goto LAB_00107b8c;\n        }" if (parenthesized_expression "(*(sqlite3_tokenizer **)((int)&psVar43->flags + 4) <=\n            *(sqlite3_tokenizer **)&psVar43->nextAutovac)" ( (binary_expression "*(sqlite3_tokenizer **)((int)&psVar43->flags + 4) <=\n            *(sqlite3_tokenizer **)&psVar43->nextAutovac" (pointer_expression "*(sqlite3_tokenizer **)((int)&psVar43->flags + 4)" * (cast_expression "(sqlite3_tokenizer **)((int)&psVar43->flags + 4)" ( (type_descriptor "sqlite3_tokenizer **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&psVar43->flags + 4)" ( (binary_expression "(int)&psVar43->flags + 4" (cast_expression "(int)&psVar43->flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->flags" & (field_expression "psVar43->flags" identifier -> field_identifier))) + number_literal) )))) <= (pointer_expression "*(sqlite3_tokenizer **)&psVar43->nextAutovac" * (cast_expression "(sqlite3_tokenizer **)&psVar43->nextAutovac" ( (type_descriptor "sqlite3_tokenizer **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar43->nextAutovac" & (field_expression "psVar43->nextAutovac" identifier -> field_identifier))))) )) (compound_statement "{\n          psVar41 = (sqlite3 *)0x0;\n          goto LAB_00107b8c;\n        }" { (expression_statement "psVar41 = (sqlite3 *)0x0;" (assignment_expression "psVar41 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00107b8c;" goto statement_identifier ;) })) })) }) (else_clause "else if ((psVar43->iSysErrno <= (int)puVar27) &&\n            (((u8 *)psVar43->iSysErrno != puVar27 ||\n             (*(sqlite3_tokenizer **)&psVar43->dbOptFlags <=\n              *(sqlite3_tokenizer **)((int)&psVar43->flags + 4))))) {\nLAB_00107c24:\n      psVar41 = (sqlite3 *)0x0;\n      goto LAB_00107b8c;\n    }" else (if_statement "if ((psVar43->iSysErrno <= (int)puVar27) &&\n            (((u8 *)psVar43->iSysErrno != puVar27 ||\n             (*(sqlite3_tokenizer **)&psVar43->dbOptFlags <=\n              *(sqlite3_tokenizer **)((int)&psVar43->flags + 4))))) {\nLAB_00107c24:\n      psVar41 = (sqlite3 *)0x0;\n      goto LAB_00107b8c;\n    }" if (parenthesized_expression "((psVar43->iSysErrno <= (int)puVar27) &&\n            (((u8 *)psVar43->iSysErrno != puVar27 ||\n             (*(sqlite3_tokenizer **)&psVar43->dbOptFlags <=\n              *(sqlite3_tokenizer **)((int)&psVar43->flags + 4)))))" ( (binary_expression "(psVar43->iSysErrno <= (int)puVar27) &&\n            (((u8 *)psVar43->iSysErrno != puVar27 ||\n             (*(sqlite3_tokenizer **)&psVar43->dbOptFlags <=\n              *(sqlite3_tokenizer **)((int)&psVar43->flags + 4))))" (parenthesized_expression "(psVar43->iSysErrno <= (int)puVar27)" ( (binary_expression "psVar43->iSysErrno <= (int)puVar27" (field_expression "psVar43->iSysErrno" identifier -> field_identifier) <= (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(((u8 *)psVar43->iSysErrno != puVar27 ||\n             (*(sqlite3_tokenizer **)&psVar43->dbOptFlags <=\n              *(sqlite3_tokenizer **)((int)&psVar43->flags + 4))))" ( (parenthesized_expression "((u8 *)psVar43->iSysErrno != puVar27 ||\n             (*(sqlite3_tokenizer **)&psVar43->dbOptFlags <=\n              *(sqlite3_tokenizer **)((int)&psVar43->flags + 4)))" ( (binary_expression "(u8 *)psVar43->iSysErrno != puVar27 ||\n             (*(sqlite3_tokenizer **)&psVar43->dbOptFlags <=\n              *(sqlite3_tokenizer **)((int)&psVar43->flags + 4))" (binary_expression "(u8 *)psVar43->iSysErrno != puVar27" (cast_expression "(u8 *)psVar43->iSysErrno" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->iSysErrno" identifier -> field_identifier)) != identifier) || (parenthesized_expression "(*(sqlite3_tokenizer **)&psVar43->dbOptFlags <=\n              *(sqlite3_tokenizer **)((int)&psVar43->flags + 4))" ( (binary_expression "*(sqlite3_tokenizer **)&psVar43->dbOptFlags <=\n              *(sqlite3_tokenizer **)((int)&psVar43->flags + 4)" (pointer_expression "*(sqlite3_tokenizer **)&psVar43->dbOptFlags" * (cast_expression "(sqlite3_tokenizer **)&psVar43->dbOptFlags" ( (type_descriptor "sqlite3_tokenizer **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar43->dbOptFlags" & (field_expression "psVar43->dbOptFlags" identifier -> field_identifier)))) <= (pointer_expression "*(sqlite3_tokenizer **)((int)&psVar43->flags + 4)" * (cast_expression "(sqlite3_tokenizer **)((int)&psVar43->flags + 4)" ( (type_descriptor "sqlite3_tokenizer **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&psVar43->flags + 4)" ( (binary_expression "(int)&psVar43->flags + 4" (cast_expression "(int)&psVar43->flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->flags" & (field_expression "psVar43->flags" identifier -> field_identifier))) + number_literal) ))))) ))) )) ))) )) (compound_statement "{\nLAB_00107c24:\n      psVar41 = (sqlite3 *)0x0;\n      goto LAB_00107b8c;\n    }" { (labeled_statement "LAB_00107c24:\n      psVar41 = (sqlite3 *)0x0;" statement_identifier : (expression_statement "psVar41 = (sqlite3 *)0x0;" (assignment_expression "psVar41 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_00107b8c;" goto statement_identifier ;) })))) (expression_statement "psVar41 = (sqlite3 *)0x0;" (assignment_expression "psVar41 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined1 *)((int)&psVar43->pVdbe + 2) = 1;" (assignment_expression "*(undefined1 *)((int)&psVar43->pVdbe + 2) = 1" (pointer_expression "*(undefined1 *)((int)&psVar43->pVdbe + 2)" * (cast_expression "(undefined1 *)((int)&psVar43->pVdbe + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar43->pVdbe + 2)" ( (binary_expression "(int)&psVar43->pVdbe + 2" (cast_expression "(int)&psVar43->pVdbe" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->pVdbe" & (field_expression "psVar43->pVdbe" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) }))) (labeled_statement "LAB_00107b8c:\n  if (psStack_184 == (sqlite3 *)*puVar45) {\n    return;\n  }" statement_identifier : (if_statement "if (psStack_184 == (sqlite3 *)*puVar45) {\n    return;\n  }" if (parenthesized_expression "(psStack_184 == (sqlite3 *)*puVar45)" ( (binary_expression "psStack_184 == (sqlite3 *)*puVar45" identifier == (cast_expression "(sqlite3 *)*puVar45" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar45" * identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pcVar56 = *(code **)(pcStack_190 + -0x7ba0);" (assignment_expression "pcVar56 = *(code **)(pcStack_190 + -0x7ba0)" identifier = (pointer_expression "*(code **)(pcStack_190 + -0x7ba0)" * (cast_expression "(code **)(pcStack_190 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_190 + -0x7ba0)" ( (binary_expression "pcStack_190 + -0x7ba0" identifier + number_literal) ))))) ;) (expression_statement "pcVar57 = fts3InitVtab;" (assignment_expression "pcVar57 = fts3InitVtab" identifier = identifier) ;) (expression_statement "psVar38 = psStack_184;" (assignment_expression "psVar38 = psStack_184" identifier = identifier) ;) (expression_statement "(*pcVar56)();" (call_expression "(*pcVar56)()" (parenthesized_expression "(*pcVar56)" ( (pointer_expression "*pcVar56" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "psVar49 = psStack_188;" (assignment_expression "psVar49 = psStack_188" identifier = identifier) ;) (expression_statement "pcVar51 = pcStack_190;" (assignment_expression "pcVar51 = pcStack_190" identifier = identifier) ;) (expression_statement "piVar25 = *(int **)(pcVar56 + 0x53d80);" (assignment_expression "piVar25 = *(int **)(pcVar56 + 0x53d80)" identifier = (pointer_expression "*(int **)(pcVar56 + 0x53d80)" * (cast_expression "(int **)(pcVar56 + 0x53d80)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53d80)" ( (binary_expression "pcVar56 + 0x53d80" identifier + number_literal) ))))) ;) (expression_statement "psVar44 = (sqlite3 *)((int)((int)&psVar35[-1].pNextBlocked + 2) * 4);" (assignment_expression "psVar44 = (sqlite3 *)((int)((int)&psVar35[-1].pNextBlocked + 2) * 4)" identifier = (cast_expression "(sqlite3 *)((int)((int)&psVar35[-1].pNextBlocked + 2) * 4)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)((int)&psVar35[-1].pNextBlocked + 2) * 4)" ( (binary_expression "(int)((int)&psVar35[-1].pNextBlocked + 2) * 4" (cast_expression "(int)((int)&psVar35[-1].pNextBlocked + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&psVar35[-1].pNextBlocked + 2)" ( (binary_expression "(int)&psVar35[-1].pNextBlocked + 2" (cast_expression "(int)&psVar35[-1].pNextBlocked" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar35[-1].pNextBlocked" & (field_expression "psVar35[-1].pNextBlocked" (subscript_expression "psVar35[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))) * number_literal) )))) ;) (expression_statement "pVStack_218 = (Vdbe *)0x0;" (assignment_expression "pVStack_218 = (Vdbe *)0x0" identifier = (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psStack_1cc = (sqlite3 *)*piVar25;" (assignment_expression "psStack_1cc = (sqlite3 *)*piVar25" identifier = (cast_expression "(sqlite3 *)*piVar25" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar25" * identifier))) ;) (expression_statement "cVar2 = *(char *)(*(int *)pcStack_190 + 3);" (assignment_expression "cVar2 = *(char *)(*(int *)pcStack_190 + 3)" identifier = (pointer_expression "*(char *)(*(int *)pcStack_190 + 3)" * (cast_expression "(char *)(*(int *)pcStack_190 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcStack_190 + 3)" ( (binary_expression "*(int *)pcStack_190 + 3" (pointer_expression "*(int *)pcStack_190" * (cast_expression "(int *)pcStack_190" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "psStack_214 = (sqlite3_vfs *)0x0;" (assignment_expression "psStack_214 = (sqlite3_vfs *)0x0" identifier = (cast_expression "(sqlite3_vfs *)0x0" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar29 = psVar33;" (assignment_expression "psVar29 = psVar33" identifier = identifier) ;) (expression_statement "argv = psVar35;" (assignment_expression "argv = psVar35" identifier = identifier) ;) (expression_statement "psStack_1c8 = psVar43;" (assignment_expression "psStack_1c8 = psVar43" identifier = identifier) ;) (expression_statement "psStack_1c4 = psVar42;" (assignment_expression "psStack_1c4 = psVar42" identifier = identifier) ;) (expression_statement "puStack_1c0 = puVar45;" (assignment_expression "puStack_1c0 = puVar45" identifier = identifier) ;) (expression_statement "psStack_1bc = psVar20;" (assignment_expression "psStack_1bc = psVar20" identifier = identifier) ;) (expression_statement "psStack_1b8 = psVar31;" (assignment_expression "psStack_1b8 = psVar31" identifier = identifier) ;) (expression_statement "psStack_1b4 = unaff_s5;" (assignment_expression "psStack_1b4 = unaff_s5" identifier = identifier) ;) (expression_statement "psStack_1b0 = unaff_s6;" (assignment_expression "psStack_1b0 = unaff_s6" identifier = identifier) ;) (expression_statement "psStack_1ac = unaff_s7;" (assignment_expression "psStack_1ac = unaff_s7" identifier = identifier) ;) (expression_statement "psStack_1a8 = unaff_s8;" (assignment_expression "psStack_1a8 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_1a4 = pcVar57;" (assignment_expression "pcStack_1a4 = pcVar57" identifier = identifier) ;) (expression_statement "psStack_1a0 = psVar41;" (assignment_expression "psStack_1a0 = psVar41" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(pcVar56 + 0x53d18))(*(int *)(pcStack_190 + 4));" (assignment_expression "iVar5 = (**(code **)(pcVar56 + 0x53d18))(*(int *)(pcStack_190 + 4))" identifier = (call_expression "(**(code **)(pcVar56 + 0x53d18))(*(int *)(pcStack_190 + 4))" (parenthesized_expression "(**(code **)(pcVar56 + 0x53d18))" ( (pointer_expression "**(code **)(pcVar56 + 0x53d18)" * (pointer_expression "*(code **)(pcVar56 + 0x53d18)" * (cast_expression "(code **)(pcVar56 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53d18)" ( (binary_expression "pcVar56 + 0x53d18" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_190 + 4))" ( (pointer_expression "*(int *)(pcStack_190 + 4)" * (cast_expression "(int *)(pcStack_190 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_190 + 4)" ( (binary_expression "pcStack_190 + 4" identifier + number_literal) )))) )))) ;) (expression_statement "iVar7 = (**(code **)(pcVar56 + 0x53d18))(*(int *)(pcVar51 + 8));" (assignment_expression "iVar7 = (**(code **)(pcVar56 + 0x53d18))(*(int *)(pcVar51 + 8))" identifier = (call_expression "(**(code **)(pcVar56 + 0x53d18))(*(int *)(pcVar51 + 8))" (parenthesized_expression "(**(code **)(pcVar56 + 0x53d18))" ( (pointer_expression "**(code **)(pcVar56 + 0x53d18)" * (pointer_expression "*(code **)(pcVar56 + 0x53d18)" * (cast_expression "(code **)(pcVar56 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53d18)" ( (binary_expression "pcVar56 + 0x53d18" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar51 + 8))" ( (pointer_expression "*(int *)(pcVar51 + 8)" * (cast_expression "(int *)(pcVar51 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar51 + 8)" ( (binary_expression "pcVar51 + 8" identifier + number_literal) )))) )))) ;) (expression_statement "psVar31 = psVar44;" (assignment_expression "psVar31 = psVar44" identifier = identifier) ;) (expression_statement "piVar8 = (int *)(**(code **)(pcVar56 + 0x53ab4))(0);" (assignment_expression "piVar8 = (int *)(**(code **)(pcVar56 + 0x53ab4))(0)" identifier = (cast_expression "(int *)(**(code **)(pcVar56 + 0x53ab4))(0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar56 + 0x53ab4))(0)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53ab4))" ( (pointer_expression "**(code **)(pcVar56 + 0x53ab4)" * (pointer_expression "*(code **)(pcVar56 + 0x53ab4)" * (cast_expression "(code **)(pcVar56 + 0x53ab4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53ab4)" ( (binary_expression "pcVar56 + 0x53ab4" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))))) ;) (if_statement "if (piVar8 != (int *)0x0) {\n    psVar29 = psVar44;\n    (**(code **)(pcVar56 + 0x53d08))(piVar8,0);\n    psVar31 = psVar44;\n    iStack_284 = (**(code **)(pcVar56 + 0x53ab4))(0);\n    if (iStack_284 != 0) {\n      psVar31 = (sqlite3 *)0x0;\n      (**(code **)(pcVar56 + 0x53d08))(iStack_284);\n      if (pVStack_218 != (Vdbe *)0x0) {\n        psVar43 = (sqlite3 *)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar9 = *(int *)(pcVar56 + 0x5393c);\n      if ((int)psVar35 < 4) {\n        uVar39 = 0;\n        iVar46 = 0;\n        bVar26 = 0;\n      }\n      else {\n        pcVar57 = pcVar51 + 0xc;\n        uVar39 = 0;\n        iVar46 = 0;\n        iVar10 = *(int *)(pcVar56 + 0x5392c);\n        psVar43 = (sqlite3 *)0x3;\n        bVar26 = 0;\n        iVar11 = *(int *)(pcVar56 + 0x539b0);\n        iVar12 = *(int *)(pcVar56 + 0x53a70);\n        iVar13 = *(int *)(pcVar56 + 0x53950);\n        do {\n          psVar41 = *(sqlite3 **)pcVar57;\n          if ((psStack_214 == (sqlite3_vfs *)0x0) &&\n             (uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14)) {\n            psVar44 = (sqlite3 *)&DAT_00000008;\n            psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344);\n            iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar41);\n            if (iVar15 != 0) goto LAB_00107e50;\n            if ((*(char *)&psVar41->pDfltColl < 0) ||\n               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0')) goto LAB_00107e50;\n            psVar44 = (sqlite3 *)&psStack_214;\n            psVar31 = (sqlite3 *)((int)&psVar41->pDfltColl + 1);\n            argv = psVar49;\n            pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n          }\n          else {\nLAB_00107e50:\n            if (cVar2 == '4') {\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }\n            else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }\n            iVar15 = (*pcVar54)(psVar41);\n            iVar46 = iVar46 + 1 + iVar15;\n            piVar16 = piVar8 + uVar39;\n            uVar39 = uVar39 + 1;\n            *piVar16 = (int)psVar41;\n          }\nLAB_00107e88:\n          psVar43 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1);\n          if (pVStack_218 != (Vdbe *)0x0) {\n            psVar43 = (sqlite3 *)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar57 = pcVar57 + 4;\n        } while (psVar35 != psVar43);\n      }\n      if (uVar39 == 0) {\n        uVar39 = 1;\n        iVar46 = 8;\n        *piVar8 = *(int *)(pcVar56 + 0x5393c) + 0x6a48;\n      }\n      if (psStack_214 == (sqlite3_vfs *)0x0) {\n        psVar44 = (sqlite3 *)&psStack_214;\n        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3ef8);\n        pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n        argv = psVar49;\n        if (pVStack_218 != (Vdbe *)0x0) {\n          iStack_278 = 0;\n          psVar43 = (sqlite3 *)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      psVar31 = (sqlite3 *)0x18;\n      iStack_278 = (**(code **)(pcVar56 + 0x53ab4))(0);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        psVar43 = (sqlite3 *)0x0;\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar56 + 0x53d08))(iStack_278,0,0x18);\n      pVStack_218 = (Vdbe *)0x0;\n      iVar5 = iVar5 + 1;\n      psVar44 = (sqlite3 *)((uVar39 + 0x4e) * 4);\n      psVar41 = (sqlite3 *)((int)psVar44->aLimit + iVar7 + 1 + iVar5 + uVar39 + iVar46 + -0x6c);\n      psVar31 = psVar41;\n      psVar43 = (sqlite3 *)(**(code **)(pcVar56 + 0x53ab4))(0);\n      if (psVar43 == (sqlite3 *)0x0) {\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar56 + 0x53d08))(psVar43,0,psVar41);\n      puVar28 = &(psVar43->lookaside).nSlot;\n      psVar43->mDbFlags = uVar39;\n      psVar43->mutex = (sqlite3_mutex *)psVar38;\n      psVar43->pCollNeededArg = (void *)0x0;\n      *(u32 **)&psVar43->field_0x1c = puVar28;\n      *(sqlite3_vfs **)((int)&psVar43->flags + 4) = psStack_214;\n      psVar43->xCollNeeded16 = (_func_void_void_ptr_sqlite3_ptr_int_void_ptr *)&LAB_00100000;\n      if (cVar2 == '4') {\n        bVar26 = bVar26 ^ 1;\n      }\n      else {\n        bVar26 = 0;\n      }\n      *(byte *)((int)&psVar43->xUpdateCallback + 2) = bVar26;\n      pcVar57 = *(code **)(pcVar56 + 0x53d84);\n      pFVar18 = (Fts3Index *)(puVar28 + uVar39);\n      *(u8 *)((int)&psVar43->xUpdateCallback + 3) = '\0';\n      *(char **)&psVar43->lastRowid = (char *)0x0;\n      *(char **)((int)&psVar43->lastRowid + 4) = (char *)0x0;\n      psVar43->xCollNeeded = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr *)pFVar18;\n      *(int *)&psVar43->szMmap = 0xff;\n      *(bool *)((int)&psVar43->xUpdateCallback + 1) = cVar2 == '4';\n      *(bool *)&psVar43->xUpdateCallback = cVar2 == '4';\n      (*pcVar57)(pFVar18,iStack_278,0x18);\n      psVar43->pWalArg = (void *)0x1;\n      iVar46 = 0;\n      iVar9 = 0;\n      do {\n        pFVar18 = (Fts3Index *)psVar43->xCollNeeded;\n        iVar46 = iVar46 + 1;\n        *(undefined2 *)(&(pFVar18->hPending).keyClass + iVar9) = 0x101;\n        *(undefined4 *)((int)&(pFVar18->hPending).first + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).count + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).htsize + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).ht + iVar9) = 0;\n        iVar9 = iVar9 + 0x18;\n      } while (iVar46 != 1);\n      pcVar57 = *(code **)(pcVar56 + 0x53d84);\n      pcVar47 = (char *)((int)&((Fts3Index *)psVar43->xCollNeeded)[1].nPrefix + uVar39);\n      *(Fts3Index **)&psVar43->flags = (Fts3Index *)psVar43->xCollNeeded + 1;\n      psVar43->nDb = (int)pcVar47;\n      pDVar40 = (Db *)(pcVar47 + iVar7 + 1);\n      pcVar55 = (char *)((int)&pDVar40->zDbSName + iVar5);\n      (*pcVar57)(pcVar47,*(int *)(pcVar51 + 8));\n      psVar43->aDb = pDVar40;\n      (**(code **)(pcVar56 + 0x53d84))(pDVar40,*(int *)(pcVar51 + 4),iVar5);\n      if (0 < (int)uVar39) {\n        iVar7 = *(int *)(pcVar56 + 0x539b0);\n        iVar9 = 0;\n        iVar5 = *(int *)(pcVar56 + 0x539b0);\n        do {\n          pVStack_210 = (Vdbe *)0x0;\n          uVar19 = (*(code *)(iVar5 + 0x273c))(*(undefined4 *)((int)piVar8 + iVar9),&pVStack_210);\n          if (0 < (int)pVStack_210) {\n            (**(code **)(pcVar56 + 0x53d84))(pcVar55,uVar19);\n          }\n          pcVar55[(int)pVStack_210] = '\0';\n          (*(code *)(iVar7 + 0x1120))(pcVar55);\n          puVar45 = (undefined4 *)((int)*(char ***)&psVar43->field_0x1c + iVar9);\n          iVar9 = iVar9 + 4;\n          *puVar45 = pcVar55;\n          pcVar55 = pcVar55 + (int)((int)&pVStack_210->db + 1);\n        } while (uVar39 * 4 != iVar9);\n        uVar48 = 0;\n        do {\n          (**(code **)(pcVar56 + 0x53d18))((*(char ***)&psVar43->field_0x1c)[uVar48]);\n          uVar48 = uVar48 + 1;\n        } while (uVar48 != uVar39);\n      }\n      psVar41 = (sqlite3 *)&pVStack_210;\n      pVStack_210 = (Vdbe *)0x0;\n      if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n        iVar5 = *(int *)(pcVar56 + 0x5393c);\n        pVStack_210 = (Vdbe *)0x0;\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x3610);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar9 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            iVar46 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x3608,iVar5 + 0x53f4,iVar7,\n                       (*(char ***)&psVar43->field_0x1c)[iVar7]);\n            iVar7 = iVar46;\n          } while (iVar46 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar56 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar56 + 0x53974))(0);\n      }\n      else {\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x7714);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar5 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar7;\n            iVar7 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22);\n          } while (iVar7 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = *(sqlite3_vtab ***)&psVar43->lastRowid;\n      argv = (sqlite3 *)psVar43->aDb;\n      if (in_stack_fffffd68 == (sqlite3_vtab **)0x0) {\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x53950) + -14000);\n      }\n      else {\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x5393c) + 0x53f4);\n      }\n      (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35e4);\n      psVar43->pRollbackArg = pVStack_210;\n      iVar5 = *(int *)(pcVar56 + 0x5393c);\n      pVStack_210 = (Vdbe *)0x0;\n      psVar31 = psVar41;\n      (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x4774);\n      if (0 < (int)psVar43->mDbFlags) {\n        iVar9 = *(int *)(pcVar56 + 0x53950);\n        iVar7 = 0;\n        do {\n          psVar31 = psVar41;\n          argv = (sqlite3 *)(iVar5 + 0x53f4);\n          (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x35cc);\n          iVar7 = iVar7 + 1;\n        } while (iVar7 < (int)psVar43->mDbFlags);\n      }\n      psVar44 = *(sqlite3 **)(pcVar56 + 0x53950);\n      if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n        psVar44 = (sqlite3 *)&psVar44[-0x1b].openFlags;\n        psVar31 = psVar41;\n        (*pcVar51)(&pVStack_218);\n      }\n      (**(code **)(pcVar56 + 0x53974))(0);\n      psVar43->xRollbackCallback = (_func_void_void_ptr *)pVStack_210;\n      if (pVStack_218 != (Vdbe *)0x0) goto LAB_00107f4c;\n      if (psStack_1a0 == (sqlite3 *)0x0) {\n        if (cVar2 != '4') {\n          *(u8 *)((int)&psVar43->xUpdateCallback + 1) = '\x02';\n        }\n      }\n      else {\n        pVStack_210 = (Vdbe *)0x0;\n        psVar20 = (sqlite3 *)psVar43->mutex;\n        if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n          pcVar47 = *(char **)((int)&psVar43->lastRowid + 4);\n          ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                        (*(int *)(pcVar56 + 0x53950) + -0x35c0);\n          if (ppcVar22 == (char **)0x0) {\nLAB_00109454:\n            ppcVar22 = (char **)0x0;\n            pVStack_210 = (Vdbe *)&DAT_00000007;\n          }\n          else {\n            iVar5 = *(int *)(pcVar56 + 0x53950);\n            if (0 < (int)psVar43->mDbFlags) {\n              iVar7 = 0;\n              do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);\n            }\n            if ((pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0))\n            goto LAB_00109454;\n          }\n          in_stack_fffffd6c = ppcVar22;\n          fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x358c),\n                     psVar43->aDb,(char *)psVar43->nDb);\n          (**(code **)(pcVar56 + 0x53974))(ppcVar22);\n        }\n        fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x3568),\n                   psVar43->aDb,(char *)psVar43->nDb);\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        argv = (sqlite3 *)psVar43->aDb;\n        psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3520);\n        psVar31 = psVar20;\n        fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 2) != '\0') {\n          in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n          argv = (sqlite3 *)psVar43->aDb;\n          psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3484);\n          fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n          psVar31 = psVar20;\n        }\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 1) != '\0') {\n          psVar31 = psVar43;\n          sqlite3Fts3CreateStatTable((int *)psVar41,(Fts3Table *)psVar43);\n        }\n        pVStack_218 = pVStack_210;\n        if (pVStack_210 != (Vdbe *)0x0) {\n          psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n          goto LAB_00107f4c;\n        }\n      }\n      psVar31 = (sqlite3 *)psVar43->aDb;\n      psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x33d4);\n      if (psVar20 == (sqlite3 *)0x0) {\n        (**(code **)(pcVar56 + 0x53974))(0);\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        goto LAB_00107f4c;\n      }\n      psVar44 = (sqlite3 *)0xffffffff;\n      in_stack_fffffd68 = (sqlite3_vtab **)0x0;\n      psVar31 = psVar20;\n      pVVar21 = (Vdbe *)sqlite3_prepare((sqlite3 *)psVar43->mutex,(char *)psVar20,-1,\n                                        (sqlite3_stmt **)psVar41,(char **)0x0);\n      if (pVVar21 == (Vdbe *)0x0) {\n        (**(code **)(pcVar56 + 0x53984))(pVStack_210);\n        psVar31 = (sqlite3 *)0x0;\n        p_Var23 = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64\n                   *)(**(code **)(pcVar56 + 0x53998))(pVStack_210);\n        psVar43->xPreUpdateCallback = p_Var23;\n        pVVar21 = (Vdbe *)(**(code **)(pcVar56 + 0x53990))(pVStack_210);\n        argv = psVar41;\nLAB_001089a8:\n        (**(code **)(pcVar56 + 0x53974))(psVar20);\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        pVStack_218 = pVVar21;\n        if (pVVar21 != (Vdbe *)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar51 = *(code **)(pcVar56 + 0x53974);\n        argv = psVar41;\n        if (pVVar21 != (Vdbe *)&DAT_00000017) goto LAB_001089a8;\n        psVar43->xPreUpdateCallback =\n             (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *)\n             0x400;\n        (*pcVar51)(psVar20);\n        pVStack_218 = (Vdbe *)0x0;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n      }\n      argv = *(sqlite3 **)((int)&psVar43->lastRowid + 4);\n      if (argv == (sqlite3 *)0x0) {\n        argv = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar56 + 0x53c10))((sqlite3 *)psVar43->mutex,1,1);\n      psVar41 = (sqlite3 *)\n                (**(code **)(pcVar56 + 0x5397c))\n                          (*(int *)(pcVar56 + 0x53950) + -0x3440,**(char ***)&psVar43->field_0x1c);\n      if (psVar41 == (sqlite3 *)0x0) {\nLAB_00108a70:\n        psVar31 = (sqlite3 *)0x0;\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar41 = (sqlite3 *)0x0;\n        pVVar21 = (Vdbe *)&DAT_00000007;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n      }\n      else {\n        iVar5 = 1;\n        if (1 < (int)psVar43->mDbFlags) {\n          iVar7 = *(int *)(pcVar56 + 0x53950);\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar5;\n            iVar5 = iVar5 + 1;\n            psVar41 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)\n            ;\n            if (psVar41 == (sqlite3 *)0x0) goto LAB_00108a70;\n          } while (iVar5 < (int)psVar43->mDbFlags);\n        }\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar31 = psVar41;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n        if (psVar20 == (sqlite3 *)0x0) {\n          pVVar21 = (Vdbe *)&DAT_00000007;\n        }\n        else {\n          psVar31 = psVar20;\n          pVVar21 = (Vdbe *)sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20);\n        }\n      }\n      (**(code **)(pcVar56 + 0x53974))(psVar20);\n      (**(code **)(pcVar56 + 0x53974))(psVar41);\n      pVStack_218 = pVVar21;\n      goto LAB_00107f4c;\n    }\n  }" if (parenthesized_expression "(piVar8 != (int *)0x0)" ( (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    psVar29 = psVar44;\n    (**(code **)(pcVar56 + 0x53d08))(piVar8,0);\n    psVar31 = psVar44;\n    iStack_284 = (**(code **)(pcVar56 + 0x53ab4))(0);\n    if (iStack_284 != 0) {\n      psVar31 = (sqlite3 *)0x0;\n      (**(code **)(pcVar56 + 0x53d08))(iStack_284);\n      if (pVStack_218 != (Vdbe *)0x0) {\n        psVar43 = (sqlite3 *)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar9 = *(int *)(pcVar56 + 0x5393c);\n      if ((int)psVar35 < 4) {\n        uVar39 = 0;\n        iVar46 = 0;\n        bVar26 = 0;\n      }\n      else {\n        pcVar57 = pcVar51 + 0xc;\n        uVar39 = 0;\n        iVar46 = 0;\n        iVar10 = *(int *)(pcVar56 + 0x5392c);\n        psVar43 = (sqlite3 *)0x3;\n        bVar26 = 0;\n        iVar11 = *(int *)(pcVar56 + 0x539b0);\n        iVar12 = *(int *)(pcVar56 + 0x53a70);\n        iVar13 = *(int *)(pcVar56 + 0x53950);\n        do {\n          psVar41 = *(sqlite3 **)pcVar57;\n          if ((psStack_214 == (sqlite3_vfs *)0x0) &&\n             (uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14)) {\n            psVar44 = (sqlite3 *)&DAT_00000008;\n            psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344);\n            iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar41);\n            if (iVar15 != 0) goto LAB_00107e50;\n            if ((*(char *)&psVar41->pDfltColl < 0) ||\n               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0')) goto LAB_00107e50;\n            psVar44 = (sqlite3 *)&psStack_214;\n            psVar31 = (sqlite3 *)((int)&psVar41->pDfltColl + 1);\n            argv = psVar49;\n            pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n          }\n          else {\nLAB_00107e50:\n            if (cVar2 == '4') {\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }\n            else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }\n            iVar15 = (*pcVar54)(psVar41);\n            iVar46 = iVar46 + 1 + iVar15;\n            piVar16 = piVar8 + uVar39;\n            uVar39 = uVar39 + 1;\n            *piVar16 = (int)psVar41;\n          }\nLAB_00107e88:\n          psVar43 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1);\n          if (pVStack_218 != (Vdbe *)0x0) {\n            psVar43 = (sqlite3 *)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar57 = pcVar57 + 4;\n        } while (psVar35 != psVar43);\n      }\n      if (uVar39 == 0) {\n        uVar39 = 1;\n        iVar46 = 8;\n        *piVar8 = *(int *)(pcVar56 + 0x5393c) + 0x6a48;\n      }\n      if (psStack_214 == (sqlite3_vfs *)0x0) {\n        psVar44 = (sqlite3 *)&psStack_214;\n        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3ef8);\n        pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n        argv = psVar49;\n        if (pVStack_218 != (Vdbe *)0x0) {\n          iStack_278 = 0;\n          psVar43 = (sqlite3 *)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      psVar31 = (sqlite3 *)0x18;\n      iStack_278 = (**(code **)(pcVar56 + 0x53ab4))(0);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        psVar43 = (sqlite3 *)0x0;\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar56 + 0x53d08))(iStack_278,0,0x18);\n      pVStack_218 = (Vdbe *)0x0;\n      iVar5 = iVar5 + 1;\n      psVar44 = (sqlite3 *)((uVar39 + 0x4e) * 4);\n      psVar41 = (sqlite3 *)((int)psVar44->aLimit + iVar7 + 1 + iVar5 + uVar39 + iVar46 + -0x6c);\n      psVar31 = psVar41;\n      psVar43 = (sqlite3 *)(**(code **)(pcVar56 + 0x53ab4))(0);\n      if (psVar43 == (sqlite3 *)0x0) {\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar56 + 0x53d08))(psVar43,0,psVar41);\n      puVar28 = &(psVar43->lookaside).nSlot;\n      psVar43->mDbFlags = uVar39;\n      psVar43->mutex = (sqlite3_mutex *)psVar38;\n      psVar43->pCollNeededArg = (void *)0x0;\n      *(u32 **)&psVar43->field_0x1c = puVar28;\n      *(sqlite3_vfs **)((int)&psVar43->flags + 4) = psStack_214;\n      psVar43->xCollNeeded16 = (_func_void_void_ptr_sqlite3_ptr_int_void_ptr *)&LAB_00100000;\n      if (cVar2 == '4') {\n        bVar26 = bVar26 ^ 1;\n      }\n      else {\n        bVar26 = 0;\n      }\n      *(byte *)((int)&psVar43->xUpdateCallback + 2) = bVar26;\n      pcVar57 = *(code **)(pcVar56 + 0x53d84);\n      pFVar18 = (Fts3Index *)(puVar28 + uVar39);\n      *(u8 *)((int)&psVar43->xUpdateCallback + 3) = '\0';\n      *(char **)&psVar43->lastRowid = (char *)0x0;\n      *(char **)((int)&psVar43->lastRowid + 4) = (char *)0x0;\n      psVar43->xCollNeeded = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr *)pFVar18;\n      *(int *)&psVar43->szMmap = 0xff;\n      *(bool *)((int)&psVar43->xUpdateCallback + 1) = cVar2 == '4';\n      *(bool *)&psVar43->xUpdateCallback = cVar2 == '4';\n      (*pcVar57)(pFVar18,iStack_278,0x18);\n      psVar43->pWalArg = (void *)0x1;\n      iVar46 = 0;\n      iVar9 = 0;\n      do {\n        pFVar18 = (Fts3Index *)psVar43->xCollNeeded;\n        iVar46 = iVar46 + 1;\n        *(undefined2 *)(&(pFVar18->hPending).keyClass + iVar9) = 0x101;\n        *(undefined4 *)((int)&(pFVar18->hPending).first + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).count + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).htsize + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).ht + iVar9) = 0;\n        iVar9 = iVar9 + 0x18;\n      } while (iVar46 != 1);\n      pcVar57 = *(code **)(pcVar56 + 0x53d84);\n      pcVar47 = (char *)((int)&((Fts3Index *)psVar43->xCollNeeded)[1].nPrefix + uVar39);\n      *(Fts3Index **)&psVar43->flags = (Fts3Index *)psVar43->xCollNeeded + 1;\n      psVar43->nDb = (int)pcVar47;\n      pDVar40 = (Db *)(pcVar47 + iVar7 + 1);\n      pcVar55 = (char *)((int)&pDVar40->zDbSName + iVar5);\n      (*pcVar57)(pcVar47,*(int *)(pcVar51 + 8));\n      psVar43->aDb = pDVar40;\n      (**(code **)(pcVar56 + 0x53d84))(pDVar40,*(int *)(pcVar51 + 4),iVar5);\n      if (0 < (int)uVar39) {\n        iVar7 = *(int *)(pcVar56 + 0x539b0);\n        iVar9 = 0;\n        iVar5 = *(int *)(pcVar56 + 0x539b0);\n        do {\n          pVStack_210 = (Vdbe *)0x0;\n          uVar19 = (*(code *)(iVar5 + 0x273c))(*(undefined4 *)((int)piVar8 + iVar9),&pVStack_210);\n          if (0 < (int)pVStack_210) {\n            (**(code **)(pcVar56 + 0x53d84))(pcVar55,uVar19);\n          }\n          pcVar55[(int)pVStack_210] = '\0';\n          (*(code *)(iVar7 + 0x1120))(pcVar55);\n          puVar45 = (undefined4 *)((int)*(char ***)&psVar43->field_0x1c + iVar9);\n          iVar9 = iVar9 + 4;\n          *puVar45 = pcVar55;\n          pcVar55 = pcVar55 + (int)((int)&pVStack_210->db + 1);\n        } while (uVar39 * 4 != iVar9);\n        uVar48 = 0;\n        do {\n          (**(code **)(pcVar56 + 0x53d18))((*(char ***)&psVar43->field_0x1c)[uVar48]);\n          uVar48 = uVar48 + 1;\n        } while (uVar48 != uVar39);\n      }\n      psVar41 = (sqlite3 *)&pVStack_210;\n      pVStack_210 = (Vdbe *)0x0;\n      if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n        iVar5 = *(int *)(pcVar56 + 0x5393c);\n        pVStack_210 = (Vdbe *)0x0;\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x3610);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar9 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            iVar46 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x3608,iVar5 + 0x53f4,iVar7,\n                       (*(char ***)&psVar43->field_0x1c)[iVar7]);\n            iVar7 = iVar46;\n          } while (iVar46 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar56 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar56 + 0x53974))(0);\n      }\n      else {\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x7714);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar5 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar7;\n            iVar7 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22);\n          } while (iVar7 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = *(sqlite3_vtab ***)&psVar43->lastRowid;\n      argv = (sqlite3 *)psVar43->aDb;\n      if (in_stack_fffffd68 == (sqlite3_vtab **)0x0) {\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x53950) + -14000);\n      }\n      else {\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x5393c) + 0x53f4);\n      }\n      (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35e4);\n      psVar43->pRollbackArg = pVStack_210;\n      iVar5 = *(int *)(pcVar56 + 0x5393c);\n      pVStack_210 = (Vdbe *)0x0;\n      psVar31 = psVar41;\n      (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x4774);\n      if (0 < (int)psVar43->mDbFlags) {\n        iVar9 = *(int *)(pcVar56 + 0x53950);\n        iVar7 = 0;\n        do {\n          psVar31 = psVar41;\n          argv = (sqlite3 *)(iVar5 + 0x53f4);\n          (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x35cc);\n          iVar7 = iVar7 + 1;\n        } while (iVar7 < (int)psVar43->mDbFlags);\n      }\n      psVar44 = *(sqlite3 **)(pcVar56 + 0x53950);\n      if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n        psVar44 = (sqlite3 *)&psVar44[-0x1b].openFlags;\n        psVar31 = psVar41;\n        (*pcVar51)(&pVStack_218);\n      }\n      (**(code **)(pcVar56 + 0x53974))(0);\n      psVar43->xRollbackCallback = (_func_void_void_ptr *)pVStack_210;\n      if (pVStack_218 != (Vdbe *)0x0) goto LAB_00107f4c;\n      if (psStack_1a0 == (sqlite3 *)0x0) {\n        if (cVar2 != '4') {\n          *(u8 *)((int)&psVar43->xUpdateCallback + 1) = '\x02';\n        }\n      }\n      else {\n        pVStack_210 = (Vdbe *)0x0;\n        psVar20 = (sqlite3 *)psVar43->mutex;\n        if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n          pcVar47 = *(char **)((int)&psVar43->lastRowid + 4);\n          ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                        (*(int *)(pcVar56 + 0x53950) + -0x35c0);\n          if (ppcVar22 == (char **)0x0) {\nLAB_00109454:\n            ppcVar22 = (char **)0x0;\n            pVStack_210 = (Vdbe *)&DAT_00000007;\n          }\n          else {\n            iVar5 = *(int *)(pcVar56 + 0x53950);\n            if (0 < (int)psVar43->mDbFlags) {\n              iVar7 = 0;\n              do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);\n            }\n            if ((pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0))\n            goto LAB_00109454;\n          }\n          in_stack_fffffd6c = ppcVar22;\n          fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x358c),\n                     psVar43->aDb,(char *)psVar43->nDb);\n          (**(code **)(pcVar56 + 0x53974))(ppcVar22);\n        }\n        fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x3568),\n                   psVar43->aDb,(char *)psVar43->nDb);\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        argv = (sqlite3 *)psVar43->aDb;\n        psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3520);\n        psVar31 = psVar20;\n        fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 2) != '\0') {\n          in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n          argv = (sqlite3 *)psVar43->aDb;\n          psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3484);\n          fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n          psVar31 = psVar20;\n        }\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 1) != '\0') {\n          psVar31 = psVar43;\n          sqlite3Fts3CreateStatTable((int *)psVar41,(Fts3Table *)psVar43);\n        }\n        pVStack_218 = pVStack_210;\n        if (pVStack_210 != (Vdbe *)0x0) {\n          psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n          goto LAB_00107f4c;\n        }\n      }\n      psVar31 = (sqlite3 *)psVar43->aDb;\n      psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x33d4);\n      if (psVar20 == (sqlite3 *)0x0) {\n        (**(code **)(pcVar56 + 0x53974))(0);\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        goto LAB_00107f4c;\n      }\n      psVar44 = (sqlite3 *)0xffffffff;\n      in_stack_fffffd68 = (sqlite3_vtab **)0x0;\n      psVar31 = psVar20;\n      pVVar21 = (Vdbe *)sqlite3_prepare((sqlite3 *)psVar43->mutex,(char *)psVar20,-1,\n                                        (sqlite3_stmt **)psVar41,(char **)0x0);\n      if (pVVar21 == (Vdbe *)0x0) {\n        (**(code **)(pcVar56 + 0x53984))(pVStack_210);\n        psVar31 = (sqlite3 *)0x0;\n        p_Var23 = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64\n                   *)(**(code **)(pcVar56 + 0x53998))(pVStack_210);\n        psVar43->xPreUpdateCallback = p_Var23;\n        pVVar21 = (Vdbe *)(**(code **)(pcVar56 + 0x53990))(pVStack_210);\n        argv = psVar41;\nLAB_001089a8:\n        (**(code **)(pcVar56 + 0x53974))(psVar20);\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        pVStack_218 = pVVar21;\n        if (pVVar21 != (Vdbe *)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar51 = *(code **)(pcVar56 + 0x53974);\n        argv = psVar41;\n        if (pVVar21 != (Vdbe *)&DAT_00000017) goto LAB_001089a8;\n        psVar43->xPreUpdateCallback =\n             (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *)\n             0x400;\n        (*pcVar51)(psVar20);\n        pVStack_218 = (Vdbe *)0x0;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n      }\n      argv = *(sqlite3 **)((int)&psVar43->lastRowid + 4);\n      if (argv == (sqlite3 *)0x0) {\n        argv = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar56 + 0x53c10))((sqlite3 *)psVar43->mutex,1,1);\n      psVar41 = (sqlite3 *)\n                (**(code **)(pcVar56 + 0x5397c))\n                          (*(int *)(pcVar56 + 0x53950) + -0x3440,**(char ***)&psVar43->field_0x1c);\n      if (psVar41 == (sqlite3 *)0x0) {\nLAB_00108a70:\n        psVar31 = (sqlite3 *)0x0;\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar41 = (sqlite3 *)0x0;\n        pVVar21 = (Vdbe *)&DAT_00000007;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n      }\n      else {\n        iVar5 = 1;\n        if (1 < (int)psVar43->mDbFlags) {\n          iVar7 = *(int *)(pcVar56 + 0x53950);\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar5;\n            iVar5 = iVar5 + 1;\n            psVar41 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)\n            ;\n            if (psVar41 == (sqlite3 *)0x0) goto LAB_00108a70;\n          } while (iVar5 < (int)psVar43->mDbFlags);\n        }\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar31 = psVar41;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n        if (psVar20 == (sqlite3 *)0x0) {\n          pVVar21 = (Vdbe *)&DAT_00000007;\n        }\n        else {\n          psVar31 = psVar20;\n          pVVar21 = (Vdbe *)sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20);\n        }\n      }\n      (**(code **)(pcVar56 + 0x53974))(psVar20);\n      (**(code **)(pcVar56 + 0x53974))(psVar41);\n      pVStack_218 = pVVar21;\n      goto LAB_00107f4c;\n    }\n  }" { (expression_statement "psVar29 = psVar44;" (assignment_expression "psVar29 = psVar44" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar56 + 0x53d08))(piVar8,0);" (call_expression "(**(code **)(pcVar56 + 0x53d08))(piVar8,0)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53d08))" ( (pointer_expression "**(code **)(pcVar56 + 0x53d08)" * (pointer_expression "*(code **)(pcVar56 + 0x53d08)" * (cast_expression "(code **)(pcVar56 + 0x53d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53d08)" ( (binary_expression "pcVar56 + 0x53d08" identifier + number_literal) ))))) )) (argument_list "(piVar8,0)" ( identifier , number_literal ))) ;) (expression_statement "psVar31 = psVar44;" (assignment_expression "psVar31 = psVar44" identifier = identifier) ;) (expression_statement "iStack_284 = (**(code **)(pcVar56 + 0x53ab4))(0);" (assignment_expression "iStack_284 = (**(code **)(pcVar56 + 0x53ab4))(0)" identifier = (call_expression "(**(code **)(pcVar56 + 0x53ab4))(0)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53ab4))" ( (pointer_expression "**(code **)(pcVar56 + 0x53ab4)" * (pointer_expression "*(code **)(pcVar56 + 0x53ab4)" * (cast_expression "(code **)(pcVar56 + 0x53ab4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53ab4)" ( (binary_expression "pcVar56 + 0x53ab4" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (if_statement "if (iStack_284 != 0) {\n      psVar31 = (sqlite3 *)0x0;\n      (**(code **)(pcVar56 + 0x53d08))(iStack_284);\n      if (pVStack_218 != (Vdbe *)0x0) {\n        psVar43 = (sqlite3 *)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar9 = *(int *)(pcVar56 + 0x5393c);\n      if ((int)psVar35 < 4) {\n        uVar39 = 0;\n        iVar46 = 0;\n        bVar26 = 0;\n      }\n      else {\n        pcVar57 = pcVar51 + 0xc;\n        uVar39 = 0;\n        iVar46 = 0;\n        iVar10 = *(int *)(pcVar56 + 0x5392c);\n        psVar43 = (sqlite3 *)0x3;\n        bVar26 = 0;\n        iVar11 = *(int *)(pcVar56 + 0x539b0);\n        iVar12 = *(int *)(pcVar56 + 0x53a70);\n        iVar13 = *(int *)(pcVar56 + 0x53950);\n        do {\n          psVar41 = *(sqlite3 **)pcVar57;\n          if ((psStack_214 == (sqlite3_vfs *)0x0) &&\n             (uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14)) {\n            psVar44 = (sqlite3 *)&DAT_00000008;\n            psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344);\n            iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar41);\n            if (iVar15 != 0) goto LAB_00107e50;\n            if ((*(char *)&psVar41->pDfltColl < 0) ||\n               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0')) goto LAB_00107e50;\n            psVar44 = (sqlite3 *)&psStack_214;\n            psVar31 = (sqlite3 *)((int)&psVar41->pDfltColl + 1);\n            argv = psVar49;\n            pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n          }\n          else {\nLAB_00107e50:\n            if (cVar2 == '4') {\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }\n            else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }\n            iVar15 = (*pcVar54)(psVar41);\n            iVar46 = iVar46 + 1 + iVar15;\n            piVar16 = piVar8 + uVar39;\n            uVar39 = uVar39 + 1;\n            *piVar16 = (int)psVar41;\n          }\nLAB_00107e88:\n          psVar43 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1);\n          if (pVStack_218 != (Vdbe *)0x0) {\n            psVar43 = (sqlite3 *)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar57 = pcVar57 + 4;\n        } while (psVar35 != psVar43);\n      }\n      if (uVar39 == 0) {\n        uVar39 = 1;\n        iVar46 = 8;\n        *piVar8 = *(int *)(pcVar56 + 0x5393c) + 0x6a48;\n      }\n      if (psStack_214 == (sqlite3_vfs *)0x0) {\n        psVar44 = (sqlite3 *)&psStack_214;\n        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3ef8);\n        pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n        argv = psVar49;\n        if (pVStack_218 != (Vdbe *)0x0) {\n          iStack_278 = 0;\n          psVar43 = (sqlite3 *)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      psVar31 = (sqlite3 *)0x18;\n      iStack_278 = (**(code **)(pcVar56 + 0x53ab4))(0);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        psVar43 = (sqlite3 *)0x0;\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar56 + 0x53d08))(iStack_278,0,0x18);\n      pVStack_218 = (Vdbe *)0x0;\n      iVar5 = iVar5 + 1;\n      psVar44 = (sqlite3 *)((uVar39 + 0x4e) * 4);\n      psVar41 = (sqlite3 *)((int)psVar44->aLimit + iVar7 + 1 + iVar5 + uVar39 + iVar46 + -0x6c);\n      psVar31 = psVar41;\n      psVar43 = (sqlite3 *)(**(code **)(pcVar56 + 0x53ab4))(0);\n      if (psVar43 == (sqlite3 *)0x0) {\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar56 + 0x53d08))(psVar43,0,psVar41);\n      puVar28 = &(psVar43->lookaside).nSlot;\n      psVar43->mDbFlags = uVar39;\n      psVar43->mutex = (sqlite3_mutex *)psVar38;\n      psVar43->pCollNeededArg = (void *)0x0;\n      *(u32 **)&psVar43->field_0x1c = puVar28;\n      *(sqlite3_vfs **)((int)&psVar43->flags + 4) = psStack_214;\n      psVar43->xCollNeeded16 = (_func_void_void_ptr_sqlite3_ptr_int_void_ptr *)&LAB_00100000;\n      if (cVar2 == '4') {\n        bVar26 = bVar26 ^ 1;\n      }\n      else {\n        bVar26 = 0;\n      }\n      *(byte *)((int)&psVar43->xUpdateCallback + 2) = bVar26;\n      pcVar57 = *(code **)(pcVar56 + 0x53d84);\n      pFVar18 = (Fts3Index *)(puVar28 + uVar39);\n      *(u8 *)((int)&psVar43->xUpdateCallback + 3) = '\0';\n      *(char **)&psVar43->lastRowid = (char *)0x0;\n      *(char **)((int)&psVar43->lastRowid + 4) = (char *)0x0;\n      psVar43->xCollNeeded = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr *)pFVar18;\n      *(int *)&psVar43->szMmap = 0xff;\n      *(bool *)((int)&psVar43->xUpdateCallback + 1) = cVar2 == '4';\n      *(bool *)&psVar43->xUpdateCallback = cVar2 == '4';\n      (*pcVar57)(pFVar18,iStack_278,0x18);\n      psVar43->pWalArg = (void *)0x1;\n      iVar46 = 0;\n      iVar9 = 0;\n      do {\n        pFVar18 = (Fts3Index *)psVar43->xCollNeeded;\n        iVar46 = iVar46 + 1;\n        *(undefined2 *)(&(pFVar18->hPending).keyClass + iVar9) = 0x101;\n        *(undefined4 *)((int)&(pFVar18->hPending).first + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).count + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).htsize + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).ht + iVar9) = 0;\n        iVar9 = iVar9 + 0x18;\n      } while (iVar46 != 1);\n      pcVar57 = *(code **)(pcVar56 + 0x53d84);\n      pcVar47 = (char *)((int)&((Fts3Index *)psVar43->xCollNeeded)[1].nPrefix + uVar39);\n      *(Fts3Index **)&psVar43->flags = (Fts3Index *)psVar43->xCollNeeded + 1;\n      psVar43->nDb = (int)pcVar47;\n      pDVar40 = (Db *)(pcVar47 + iVar7 + 1);\n      pcVar55 = (char *)((int)&pDVar40->zDbSName + iVar5);\n      (*pcVar57)(pcVar47,*(int *)(pcVar51 + 8));\n      psVar43->aDb = pDVar40;\n      (**(code **)(pcVar56 + 0x53d84))(pDVar40,*(int *)(pcVar51 + 4),iVar5);\n      if (0 < (int)uVar39) {\n        iVar7 = *(int *)(pcVar56 + 0x539b0);\n        iVar9 = 0;\n        iVar5 = *(int *)(pcVar56 + 0x539b0);\n        do {\n          pVStack_210 = (Vdbe *)0x0;\n          uVar19 = (*(code *)(iVar5 + 0x273c))(*(undefined4 *)((int)piVar8 + iVar9),&pVStack_210);\n          if (0 < (int)pVStack_210) {\n            (**(code **)(pcVar56 + 0x53d84))(pcVar55,uVar19);\n          }\n          pcVar55[(int)pVStack_210] = '\0';\n          (*(code *)(iVar7 + 0x1120))(pcVar55);\n          puVar45 = (undefined4 *)((int)*(char ***)&psVar43->field_0x1c + iVar9);\n          iVar9 = iVar9 + 4;\n          *puVar45 = pcVar55;\n          pcVar55 = pcVar55 + (int)((int)&pVStack_210->db + 1);\n        } while (uVar39 * 4 != iVar9);\n        uVar48 = 0;\n        do {\n          (**(code **)(pcVar56 + 0x53d18))((*(char ***)&psVar43->field_0x1c)[uVar48]);\n          uVar48 = uVar48 + 1;\n        } while (uVar48 != uVar39);\n      }\n      psVar41 = (sqlite3 *)&pVStack_210;\n      pVStack_210 = (Vdbe *)0x0;\n      if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n        iVar5 = *(int *)(pcVar56 + 0x5393c);\n        pVStack_210 = (Vdbe *)0x0;\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x3610);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar9 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            iVar46 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x3608,iVar5 + 0x53f4,iVar7,\n                       (*(char ***)&psVar43->field_0x1c)[iVar7]);\n            iVar7 = iVar46;\n          } while (iVar46 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar56 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar56 + 0x53974))(0);\n      }\n      else {\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x7714);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar5 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar7;\n            iVar7 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22);\n          } while (iVar7 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = *(sqlite3_vtab ***)&psVar43->lastRowid;\n      argv = (sqlite3 *)psVar43->aDb;\n      if (in_stack_fffffd68 == (sqlite3_vtab **)0x0) {\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x53950) + -14000);\n      }\n      else {\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x5393c) + 0x53f4);\n      }\n      (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35e4);\n      psVar43->pRollbackArg = pVStack_210;\n      iVar5 = *(int *)(pcVar56 + 0x5393c);\n      pVStack_210 = (Vdbe *)0x0;\n      psVar31 = psVar41;\n      (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x4774);\n      if (0 < (int)psVar43->mDbFlags) {\n        iVar9 = *(int *)(pcVar56 + 0x53950);\n        iVar7 = 0;\n        do {\n          psVar31 = psVar41;\n          argv = (sqlite3 *)(iVar5 + 0x53f4);\n          (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x35cc);\n          iVar7 = iVar7 + 1;\n        } while (iVar7 < (int)psVar43->mDbFlags);\n      }\n      psVar44 = *(sqlite3 **)(pcVar56 + 0x53950);\n      if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n        psVar44 = (sqlite3 *)&psVar44[-0x1b].openFlags;\n        psVar31 = psVar41;\n        (*pcVar51)(&pVStack_218);\n      }\n      (**(code **)(pcVar56 + 0x53974))(0);\n      psVar43->xRollbackCallback = (_func_void_void_ptr *)pVStack_210;\n      if (pVStack_218 != (Vdbe *)0x0) goto LAB_00107f4c;\n      if (psStack_1a0 == (sqlite3 *)0x0) {\n        if (cVar2 != '4') {\n          *(u8 *)((int)&psVar43->xUpdateCallback + 1) = '\x02';\n        }\n      }\n      else {\n        pVStack_210 = (Vdbe *)0x0;\n        psVar20 = (sqlite3 *)psVar43->mutex;\n        if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n          pcVar47 = *(char **)((int)&psVar43->lastRowid + 4);\n          ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                        (*(int *)(pcVar56 + 0x53950) + -0x35c0);\n          if (ppcVar22 == (char **)0x0) {\nLAB_00109454:\n            ppcVar22 = (char **)0x0;\n            pVStack_210 = (Vdbe *)&DAT_00000007;\n          }\n          else {\n            iVar5 = *(int *)(pcVar56 + 0x53950);\n            if (0 < (int)psVar43->mDbFlags) {\n              iVar7 = 0;\n              do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);\n            }\n            if ((pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0))\n            goto LAB_00109454;\n          }\n          in_stack_fffffd6c = ppcVar22;\n          fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x358c),\n                     psVar43->aDb,(char *)psVar43->nDb);\n          (**(code **)(pcVar56 + 0x53974))(ppcVar22);\n        }\n        fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x3568),\n                   psVar43->aDb,(char *)psVar43->nDb);\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        argv = (sqlite3 *)psVar43->aDb;\n        psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3520);\n        psVar31 = psVar20;\n        fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 2) != '\0') {\n          in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n          argv = (sqlite3 *)psVar43->aDb;\n          psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3484);\n          fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n          psVar31 = psVar20;\n        }\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 1) != '\0') {\n          psVar31 = psVar43;\n          sqlite3Fts3CreateStatTable((int *)psVar41,(Fts3Table *)psVar43);\n        }\n        pVStack_218 = pVStack_210;\n        if (pVStack_210 != (Vdbe *)0x0) {\n          psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n          goto LAB_00107f4c;\n        }\n      }\n      psVar31 = (sqlite3 *)psVar43->aDb;\n      psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x33d4);\n      if (psVar20 == (sqlite3 *)0x0) {\n        (**(code **)(pcVar56 + 0x53974))(0);\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        goto LAB_00107f4c;\n      }\n      psVar44 = (sqlite3 *)0xffffffff;\n      in_stack_fffffd68 = (sqlite3_vtab **)0x0;\n      psVar31 = psVar20;\n      pVVar21 = (Vdbe *)sqlite3_prepare((sqlite3 *)psVar43->mutex,(char *)psVar20,-1,\n                                        (sqlite3_stmt **)psVar41,(char **)0x0);\n      if (pVVar21 == (Vdbe *)0x0) {\n        (**(code **)(pcVar56 + 0x53984))(pVStack_210);\n        psVar31 = (sqlite3 *)0x0;\n        p_Var23 = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64\n                   *)(**(code **)(pcVar56 + 0x53998))(pVStack_210);\n        psVar43->xPreUpdateCallback = p_Var23;\n        pVVar21 = (Vdbe *)(**(code **)(pcVar56 + 0x53990))(pVStack_210);\n        argv = psVar41;\nLAB_001089a8:\n        (**(code **)(pcVar56 + 0x53974))(psVar20);\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        pVStack_218 = pVVar21;\n        if (pVVar21 != (Vdbe *)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar51 = *(code **)(pcVar56 + 0x53974);\n        argv = psVar41;\n        if (pVVar21 != (Vdbe *)&DAT_00000017) goto LAB_001089a8;\n        psVar43->xPreUpdateCallback =\n             (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *)\n             0x400;\n        (*pcVar51)(psVar20);\n        pVStack_218 = (Vdbe *)0x0;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n      }\n      argv = *(sqlite3 **)((int)&psVar43->lastRowid + 4);\n      if (argv == (sqlite3 *)0x0) {\n        argv = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar56 + 0x53c10))((sqlite3 *)psVar43->mutex,1,1);\n      psVar41 = (sqlite3 *)\n                (**(code **)(pcVar56 + 0x5397c))\n                          (*(int *)(pcVar56 + 0x53950) + -0x3440,**(char ***)&psVar43->field_0x1c);\n      if (psVar41 == (sqlite3 *)0x0) {\nLAB_00108a70:\n        psVar31 = (sqlite3 *)0x0;\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar41 = (sqlite3 *)0x0;\n        pVVar21 = (Vdbe *)&DAT_00000007;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n      }\n      else {\n        iVar5 = 1;\n        if (1 < (int)psVar43->mDbFlags) {\n          iVar7 = *(int *)(pcVar56 + 0x53950);\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar5;\n            iVar5 = iVar5 + 1;\n            psVar41 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)\n            ;\n            if (psVar41 == (sqlite3 *)0x0) goto LAB_00108a70;\n          } while (iVar5 < (int)psVar43->mDbFlags);\n        }\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar31 = psVar41;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n        if (psVar20 == (sqlite3 *)0x0) {\n          pVVar21 = (Vdbe *)&DAT_00000007;\n        }\n        else {\n          psVar31 = psVar20;\n          pVVar21 = (Vdbe *)sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20);\n        }\n      }\n      (**(code **)(pcVar56 + 0x53974))(psVar20);\n      (**(code **)(pcVar56 + 0x53974))(psVar41);\n      pVStack_218 = pVVar21;\n      goto LAB_00107f4c;\n    }" if (parenthesized_expression "(iStack_284 != 0)" ( (binary_expression "iStack_284 != 0" identifier != number_literal) )) (compound_statement "{\n      psVar31 = (sqlite3 *)0x0;\n      (**(code **)(pcVar56 + 0x53d08))(iStack_284);\n      if (pVStack_218 != (Vdbe *)0x0) {\n        psVar43 = (sqlite3 *)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar9 = *(int *)(pcVar56 + 0x5393c);\n      if ((int)psVar35 < 4) {\n        uVar39 = 0;\n        iVar46 = 0;\n        bVar26 = 0;\n      }\n      else {\n        pcVar57 = pcVar51 + 0xc;\n        uVar39 = 0;\n        iVar46 = 0;\n        iVar10 = *(int *)(pcVar56 + 0x5392c);\n        psVar43 = (sqlite3 *)0x3;\n        bVar26 = 0;\n        iVar11 = *(int *)(pcVar56 + 0x539b0);\n        iVar12 = *(int *)(pcVar56 + 0x53a70);\n        iVar13 = *(int *)(pcVar56 + 0x53950);\n        do {\n          psVar41 = *(sqlite3 **)pcVar57;\n          if ((psStack_214 == (sqlite3_vfs *)0x0) &&\n             (uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14)) {\n            psVar44 = (sqlite3 *)&DAT_00000008;\n            psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344);\n            iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar41);\n            if (iVar15 != 0) goto LAB_00107e50;\n            if ((*(char *)&psVar41->pDfltColl < 0) ||\n               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0')) goto LAB_00107e50;\n            psVar44 = (sqlite3 *)&psStack_214;\n            psVar31 = (sqlite3 *)((int)&psVar41->pDfltColl + 1);\n            argv = psVar49;\n            pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n          }\n          else {\nLAB_00107e50:\n            if (cVar2 == '4') {\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }\n            else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }\n            iVar15 = (*pcVar54)(psVar41);\n            iVar46 = iVar46 + 1 + iVar15;\n            piVar16 = piVar8 + uVar39;\n            uVar39 = uVar39 + 1;\n            *piVar16 = (int)psVar41;\n          }\nLAB_00107e88:\n          psVar43 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1);\n          if (pVStack_218 != (Vdbe *)0x0) {\n            psVar43 = (sqlite3 *)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar57 = pcVar57 + 4;\n        } while (psVar35 != psVar43);\n      }\n      if (uVar39 == 0) {\n        uVar39 = 1;\n        iVar46 = 8;\n        *piVar8 = *(int *)(pcVar56 + 0x5393c) + 0x6a48;\n      }\n      if (psStack_214 == (sqlite3_vfs *)0x0) {\n        psVar44 = (sqlite3 *)&psStack_214;\n        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3ef8);\n        pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n        argv = psVar49;\n        if (pVStack_218 != (Vdbe *)0x0) {\n          iStack_278 = 0;\n          psVar43 = (sqlite3 *)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      psVar31 = (sqlite3 *)0x18;\n      iStack_278 = (**(code **)(pcVar56 + 0x53ab4))(0);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        psVar43 = (sqlite3 *)0x0;\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar56 + 0x53d08))(iStack_278,0,0x18);\n      pVStack_218 = (Vdbe *)0x0;\n      iVar5 = iVar5 + 1;\n      psVar44 = (sqlite3 *)((uVar39 + 0x4e) * 4);\n      psVar41 = (sqlite3 *)((int)psVar44->aLimit + iVar7 + 1 + iVar5 + uVar39 + iVar46 + -0x6c);\n      psVar31 = psVar41;\n      psVar43 = (sqlite3 *)(**(code **)(pcVar56 + 0x53ab4))(0);\n      if (psVar43 == (sqlite3 *)0x0) {\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar56 + 0x53d08))(psVar43,0,psVar41);\n      puVar28 = &(psVar43->lookaside).nSlot;\n      psVar43->mDbFlags = uVar39;\n      psVar43->mutex = (sqlite3_mutex *)psVar38;\n      psVar43->pCollNeededArg = (void *)0x0;\n      *(u32 **)&psVar43->field_0x1c = puVar28;\n      *(sqlite3_vfs **)((int)&psVar43->flags + 4) = psStack_214;\n      psVar43->xCollNeeded16 = (_func_void_void_ptr_sqlite3_ptr_int_void_ptr *)&LAB_00100000;\n      if (cVar2 == '4') {\n        bVar26 = bVar26 ^ 1;\n      }\n      else {\n        bVar26 = 0;\n      }\n      *(byte *)((int)&psVar43->xUpdateCallback + 2) = bVar26;\n      pcVar57 = *(code **)(pcVar56 + 0x53d84);\n      pFVar18 = (Fts3Index *)(puVar28 + uVar39);\n      *(u8 *)((int)&psVar43->xUpdateCallback + 3) = '\0';\n      *(char **)&psVar43->lastRowid = (char *)0x0;\n      *(char **)((int)&psVar43->lastRowid + 4) = (char *)0x0;\n      psVar43->xCollNeeded = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr *)pFVar18;\n      *(int *)&psVar43->szMmap = 0xff;\n      *(bool *)((int)&psVar43->xUpdateCallback + 1) = cVar2 == '4';\n      *(bool *)&psVar43->xUpdateCallback = cVar2 == '4';\n      (*pcVar57)(pFVar18,iStack_278,0x18);\n      psVar43->pWalArg = (void *)0x1;\n      iVar46 = 0;\n      iVar9 = 0;\n      do {\n        pFVar18 = (Fts3Index *)psVar43->xCollNeeded;\n        iVar46 = iVar46 + 1;\n        *(undefined2 *)(&(pFVar18->hPending).keyClass + iVar9) = 0x101;\n        *(undefined4 *)((int)&(pFVar18->hPending).first + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).count + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).htsize + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).ht + iVar9) = 0;\n        iVar9 = iVar9 + 0x18;\n      } while (iVar46 != 1);\n      pcVar57 = *(code **)(pcVar56 + 0x53d84);\n      pcVar47 = (char *)((int)&((Fts3Index *)psVar43->xCollNeeded)[1].nPrefix + uVar39);\n      *(Fts3Index **)&psVar43->flags = (Fts3Index *)psVar43->xCollNeeded + 1;\n      psVar43->nDb = (int)pcVar47;\n      pDVar40 = (Db *)(pcVar47 + iVar7 + 1);\n      pcVar55 = (char *)((int)&pDVar40->zDbSName + iVar5);\n      (*pcVar57)(pcVar47,*(int *)(pcVar51 + 8));\n      psVar43->aDb = pDVar40;\n      (**(code **)(pcVar56 + 0x53d84))(pDVar40,*(int *)(pcVar51 + 4),iVar5);\n      if (0 < (int)uVar39) {\n        iVar7 = *(int *)(pcVar56 + 0x539b0);\n        iVar9 = 0;\n        iVar5 = *(int *)(pcVar56 + 0x539b0);\n        do {\n          pVStack_210 = (Vdbe *)0x0;\n          uVar19 = (*(code *)(iVar5 + 0x273c))(*(undefined4 *)((int)piVar8 + iVar9),&pVStack_210);\n          if (0 < (int)pVStack_210) {\n            (**(code **)(pcVar56 + 0x53d84))(pcVar55,uVar19);\n          }\n          pcVar55[(int)pVStack_210] = '\0';\n          (*(code *)(iVar7 + 0x1120))(pcVar55);\n          puVar45 = (undefined4 *)((int)*(char ***)&psVar43->field_0x1c + iVar9);\n          iVar9 = iVar9 + 4;\n          *puVar45 = pcVar55;\n          pcVar55 = pcVar55 + (int)((int)&pVStack_210->db + 1);\n        } while (uVar39 * 4 != iVar9);\n        uVar48 = 0;\n        do {\n          (**(code **)(pcVar56 + 0x53d18))((*(char ***)&psVar43->field_0x1c)[uVar48]);\n          uVar48 = uVar48 + 1;\n        } while (uVar48 != uVar39);\n      }\n      psVar41 = (sqlite3 *)&pVStack_210;\n      pVStack_210 = (Vdbe *)0x0;\n      if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n        iVar5 = *(int *)(pcVar56 + 0x5393c);\n        pVStack_210 = (Vdbe *)0x0;\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x3610);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar9 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            iVar46 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x3608,iVar5 + 0x53f4,iVar7,\n                       (*(char ***)&psVar43->field_0x1c)[iVar7]);\n            iVar7 = iVar46;\n          } while (iVar46 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar56 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar56 + 0x53974))(0);\n      }\n      else {\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x7714);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar5 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar7;\n            iVar7 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22);\n          } while (iVar7 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = *(sqlite3_vtab ***)&psVar43->lastRowid;\n      argv = (sqlite3 *)psVar43->aDb;\n      if (in_stack_fffffd68 == (sqlite3_vtab **)0x0) {\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x53950) + -14000);\n      }\n      else {\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x5393c) + 0x53f4);\n      }\n      (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35e4);\n      psVar43->pRollbackArg = pVStack_210;\n      iVar5 = *(int *)(pcVar56 + 0x5393c);\n      pVStack_210 = (Vdbe *)0x0;\n      psVar31 = psVar41;\n      (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x4774);\n      if (0 < (int)psVar43->mDbFlags) {\n        iVar9 = *(int *)(pcVar56 + 0x53950);\n        iVar7 = 0;\n        do {\n          psVar31 = psVar41;\n          argv = (sqlite3 *)(iVar5 + 0x53f4);\n          (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x35cc);\n          iVar7 = iVar7 + 1;\n        } while (iVar7 < (int)psVar43->mDbFlags);\n      }\n      psVar44 = *(sqlite3 **)(pcVar56 + 0x53950);\n      if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n        psVar44 = (sqlite3 *)&psVar44[-0x1b].openFlags;\n        psVar31 = psVar41;\n        (*pcVar51)(&pVStack_218);\n      }\n      (**(code **)(pcVar56 + 0x53974))(0);\n      psVar43->xRollbackCallback = (_func_void_void_ptr *)pVStack_210;\n      if (pVStack_218 != (Vdbe *)0x0) goto LAB_00107f4c;\n      if (psStack_1a0 == (sqlite3 *)0x0) {\n        if (cVar2 != '4') {\n          *(u8 *)((int)&psVar43->xUpdateCallback + 1) = '\x02';\n        }\n      }\n      else {\n        pVStack_210 = (Vdbe *)0x0;\n        psVar20 = (sqlite3 *)psVar43->mutex;\n        if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n          pcVar47 = *(char **)((int)&psVar43->lastRowid + 4);\n          ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                        (*(int *)(pcVar56 + 0x53950) + -0x35c0);\n          if (ppcVar22 == (char **)0x0) {\nLAB_00109454:\n            ppcVar22 = (char **)0x0;\n            pVStack_210 = (Vdbe *)&DAT_00000007;\n          }\n          else {\n            iVar5 = *(int *)(pcVar56 + 0x53950);\n            if (0 < (int)psVar43->mDbFlags) {\n              iVar7 = 0;\n              do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);\n            }\n            if ((pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0))\n            goto LAB_00109454;\n          }\n          in_stack_fffffd6c = ppcVar22;\n          fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x358c),\n                     psVar43->aDb,(char *)psVar43->nDb);\n          (**(code **)(pcVar56 + 0x53974))(ppcVar22);\n        }\n        fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x3568),\n                   psVar43->aDb,(char *)psVar43->nDb);\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        argv = (sqlite3 *)psVar43->aDb;\n        psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3520);\n        psVar31 = psVar20;\n        fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 2) != '\0') {\n          in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n          argv = (sqlite3 *)psVar43->aDb;\n          psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3484);\n          fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n          psVar31 = psVar20;\n        }\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 1) != '\0') {\n          psVar31 = psVar43;\n          sqlite3Fts3CreateStatTable((int *)psVar41,(Fts3Table *)psVar43);\n        }\n        pVStack_218 = pVStack_210;\n        if (pVStack_210 != (Vdbe *)0x0) {\n          psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n          goto LAB_00107f4c;\n        }\n      }\n      psVar31 = (sqlite3 *)psVar43->aDb;\n      psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x33d4);\n      if (psVar20 == (sqlite3 *)0x0) {\n        (**(code **)(pcVar56 + 0x53974))(0);\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        goto LAB_00107f4c;\n      }\n      psVar44 = (sqlite3 *)0xffffffff;\n      in_stack_fffffd68 = (sqlite3_vtab **)0x0;\n      psVar31 = psVar20;\n      pVVar21 = (Vdbe *)sqlite3_prepare((sqlite3 *)psVar43->mutex,(char *)psVar20,-1,\n                                        (sqlite3_stmt **)psVar41,(char **)0x0);\n      if (pVVar21 == (Vdbe *)0x0) {\n        (**(code **)(pcVar56 + 0x53984))(pVStack_210);\n        psVar31 = (sqlite3 *)0x0;\n        p_Var23 = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64\n                   *)(**(code **)(pcVar56 + 0x53998))(pVStack_210);\n        psVar43->xPreUpdateCallback = p_Var23;\n        pVVar21 = (Vdbe *)(**(code **)(pcVar56 + 0x53990))(pVStack_210);\n        argv = psVar41;\nLAB_001089a8:\n        (**(code **)(pcVar56 + 0x53974))(psVar20);\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        pVStack_218 = pVVar21;\n        if (pVVar21 != (Vdbe *)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar51 = *(code **)(pcVar56 + 0x53974);\n        argv = psVar41;\n        if (pVVar21 != (Vdbe *)&DAT_00000017) goto LAB_001089a8;\n        psVar43->xPreUpdateCallback =\n             (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *)\n             0x400;\n        (*pcVar51)(psVar20);\n        pVStack_218 = (Vdbe *)0x0;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n      }\n      argv = *(sqlite3 **)((int)&psVar43->lastRowid + 4);\n      if (argv == (sqlite3 *)0x0) {\n        argv = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar56 + 0x53c10))((sqlite3 *)psVar43->mutex,1,1);\n      psVar41 = (sqlite3 *)\n                (**(code **)(pcVar56 + 0x5397c))\n                          (*(int *)(pcVar56 + 0x53950) + -0x3440,**(char ***)&psVar43->field_0x1c);\n      if (psVar41 == (sqlite3 *)0x0) {\nLAB_00108a70:\n        psVar31 = (sqlite3 *)0x0;\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar41 = (sqlite3 *)0x0;\n        pVVar21 = (Vdbe *)&DAT_00000007;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n      }\n      else {\n        iVar5 = 1;\n        if (1 < (int)psVar43->mDbFlags) {\n          iVar7 = *(int *)(pcVar56 + 0x53950);\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar5;\n            iVar5 = iVar5 + 1;\n            psVar41 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)\n            ;\n            if (psVar41 == (sqlite3 *)0x0) goto LAB_00108a70;\n          } while (iVar5 < (int)psVar43->mDbFlags);\n        }\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar31 = psVar41;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n        if (psVar20 == (sqlite3 *)0x0) {\n          pVVar21 = (Vdbe *)&DAT_00000007;\n        }\n        else {\n          psVar31 = psVar20;\n          pVVar21 = (Vdbe *)sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20);\n        }\n      }\n      (**(code **)(pcVar56 + 0x53974))(psVar20);\n      (**(code **)(pcVar56 + 0x53974))(psVar41);\n      pVStack_218 = pVVar21;\n      goto LAB_00107f4c;\n    }" { (expression_statement "psVar31 = (sqlite3 *)0x0;" (assignment_expression "psVar31 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar56 + 0x53d08))(iStack_284);" (call_expression "(**(code **)(pcVar56 + 0x53d08))(iStack_284)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53d08))" ( (pointer_expression "**(code **)(pcVar56 + 0x53d08)" * (pointer_expression "*(code **)(pcVar56 + 0x53d08)" * (cast_expression "(code **)(pcVar56 + 0x53d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53d08)" ( (binary_expression "pcVar56 + 0x53d08" identifier + number_literal) ))))) )) (argument_list "(iStack_284)" ( identifier ))) ;) (if_statement "if (pVStack_218 != (Vdbe *)0x0) {\n        psVar43 = (sqlite3 *)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }" if (parenthesized_expression "(pVStack_218 != (Vdbe *)0x0)" ( (binary_expression "pVStack_218 != (Vdbe *)0x0" identifier != (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        psVar43 = (sqlite3 *)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }" { (expression_statement "psVar43 = (sqlite3 *)0x0;" (assignment_expression "psVar43 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) (expression_statement "iVar9 = *(int *)(pcVar56 + 0x5393c);" (assignment_expression "iVar9 = *(int *)(pcVar56 + 0x5393c)" identifier = (pointer_expression "*(int *)(pcVar56 + 0x5393c)" * (cast_expression "(int *)(pcVar56 + 0x5393c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x5393c)" ( (binary_expression "pcVar56 + 0x5393c" identifier + number_literal) ))))) ;) (if_statement "if ((int)psVar35 < 4) {\n        uVar39 = 0;\n        iVar46 = 0;\n        bVar26 = 0;\n      }\n      else {\n        pcVar57 = pcVar51 + 0xc;\n        uVar39 = 0;\n        iVar46 = 0;\n        iVar10 = *(int *)(pcVar56 + 0x5392c);\n        psVar43 = (sqlite3 *)0x3;\n        bVar26 = 0;\n        iVar11 = *(int *)(pcVar56 + 0x539b0);\n        iVar12 = *(int *)(pcVar56 + 0x53a70);\n        iVar13 = *(int *)(pcVar56 + 0x53950);\n        do {\n          psVar41 = *(sqlite3 **)pcVar57;\n          if ((psStack_214 == (sqlite3_vfs *)0x0) &&\n             (uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14)) {\n            psVar44 = (sqlite3 *)&DAT_00000008;\n            psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344);\n            iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar41);\n            if (iVar15 != 0) goto LAB_00107e50;\n            if ((*(char *)&psVar41->pDfltColl < 0) ||\n               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0')) goto LAB_00107e50;\n            psVar44 = (sqlite3 *)&psStack_214;\n            psVar31 = (sqlite3 *)((int)&psVar41->pDfltColl + 1);\n            argv = psVar49;\n            pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n          }\n          else {\nLAB_00107e50:\n            if (cVar2 == '4') {\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }\n            else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }\n            iVar15 = (*pcVar54)(psVar41);\n            iVar46 = iVar46 + 1 + iVar15;\n            piVar16 = piVar8 + uVar39;\n            uVar39 = uVar39 + 1;\n            *piVar16 = (int)psVar41;\n          }\nLAB_00107e88:\n          psVar43 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1);\n          if (pVStack_218 != (Vdbe *)0x0) {\n            psVar43 = (sqlite3 *)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar57 = pcVar57 + 4;\n        } while (psVar35 != psVar43);\n      }" if (parenthesized_expression "((int)psVar35 < 4)" ( (binary_expression "(int)psVar35 < 4" (cast_expression "(int)psVar35" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        uVar39 = 0;\n        iVar46 = 0;\n        bVar26 = 0;\n      }" { (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" identifier = number_literal) ;) (expression_statement "iVar46 = 0;" (assignment_expression "iVar46 = 0" identifier = number_literal) ;) (expression_statement "bVar26 = 0;" (assignment_expression "bVar26 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        pcVar57 = pcVar51 + 0xc;\n        uVar39 = 0;\n        iVar46 = 0;\n        iVar10 = *(int *)(pcVar56 + 0x5392c);\n        psVar43 = (sqlite3 *)0x3;\n        bVar26 = 0;\n        iVar11 = *(int *)(pcVar56 + 0x539b0);\n        iVar12 = *(int *)(pcVar56 + 0x53a70);\n        iVar13 = *(int *)(pcVar56 + 0x53950);\n        do {\n          psVar41 = *(sqlite3 **)pcVar57;\n          if ((psStack_214 == (sqlite3_vfs *)0x0) &&\n             (uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14)) {\n            psVar44 = (sqlite3 *)&DAT_00000008;\n            psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344);\n            iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar41);\n            if (iVar15 != 0) goto LAB_00107e50;\n            if ((*(char *)&psVar41->pDfltColl < 0) ||\n               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0')) goto LAB_00107e50;\n            psVar44 = (sqlite3 *)&psStack_214;\n            psVar31 = (sqlite3 *)((int)&psVar41->pDfltColl + 1);\n            argv = psVar49;\n            pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n          }\n          else {\nLAB_00107e50:\n            if (cVar2 == '4') {\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }\n            else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }\n            iVar15 = (*pcVar54)(psVar41);\n            iVar46 = iVar46 + 1 + iVar15;\n            piVar16 = piVar8 + uVar39;\n            uVar39 = uVar39 + 1;\n            *piVar16 = (int)psVar41;\n          }\nLAB_00107e88:\n          psVar43 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1);\n          if (pVStack_218 != (Vdbe *)0x0) {\n            psVar43 = (sqlite3 *)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar57 = pcVar57 + 4;\n        } while (psVar35 != psVar43);\n      }" else (compound_statement "{\n        pcVar57 = pcVar51 + 0xc;\n        uVar39 = 0;\n        iVar46 = 0;\n        iVar10 = *(int *)(pcVar56 + 0x5392c);\n        psVar43 = (sqlite3 *)0x3;\n        bVar26 = 0;\n        iVar11 = *(int *)(pcVar56 + 0x539b0);\n        iVar12 = *(int *)(pcVar56 + 0x53a70);\n        iVar13 = *(int *)(pcVar56 + 0x53950);\n        do {\n          psVar41 = *(sqlite3 **)pcVar57;\n          if ((psStack_214 == (sqlite3_vfs *)0x0) &&\n             (uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14)) {\n            psVar44 = (sqlite3 *)&DAT_00000008;\n            psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344);\n            iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar41);\n            if (iVar15 != 0) goto LAB_00107e50;\n            if ((*(char *)&psVar41->pDfltColl < 0) ||\n               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0')) goto LAB_00107e50;\n            psVar44 = (sqlite3 *)&psStack_214;\n            psVar31 = (sqlite3 *)((int)&psVar41->pDfltColl + 1);\n            argv = psVar49;\n            pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n          }\n          else {\nLAB_00107e50:\n            if (cVar2 == '4') {\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }\n            else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }\n            iVar15 = (*pcVar54)(psVar41);\n            iVar46 = iVar46 + 1 + iVar15;\n            piVar16 = piVar8 + uVar39;\n            uVar39 = uVar39 + 1;\n            *piVar16 = (int)psVar41;\n          }\nLAB_00107e88:\n          psVar43 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1);\n          if (pVStack_218 != (Vdbe *)0x0) {\n            psVar43 = (sqlite3 *)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar57 = pcVar57 + 4;\n        } while (psVar35 != psVar43);\n      }" { (expression_statement "pcVar57 = pcVar51 + 0xc;" (assignment_expression "pcVar57 = pcVar51 + 0xc" identifier = (binary_expression "pcVar51 + 0xc" identifier + number_literal)) ;) (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" identifier = number_literal) ;) (expression_statement "iVar46 = 0;" (assignment_expression "iVar46 = 0" identifier = number_literal) ;) (expression_statement "iVar10 = *(int *)(pcVar56 + 0x5392c);" (assignment_expression "iVar10 = *(int *)(pcVar56 + 0x5392c)" identifier = (pointer_expression "*(int *)(pcVar56 + 0x5392c)" * (cast_expression "(int *)(pcVar56 + 0x5392c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x5392c)" ( (binary_expression "pcVar56 + 0x5392c" identifier + number_literal) ))))) ;) (expression_statement "psVar43 = (sqlite3 *)0x3;" (assignment_expression "psVar43 = (sqlite3 *)0x3" identifier = (cast_expression "(sqlite3 *)0x3" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar26 = 0;" (assignment_expression "bVar26 = 0" identifier = number_literal) ;) (expression_statement "iVar11 = *(int *)(pcVar56 + 0x539b0);" (assignment_expression "iVar11 = *(int *)(pcVar56 + 0x539b0)" identifier = (pointer_expression "*(int *)(pcVar56 + 0x539b0)" * (cast_expression "(int *)(pcVar56 + 0x539b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x539b0)" ( (binary_expression "pcVar56 + 0x539b0" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(pcVar56 + 0x53a70);" (assignment_expression "iVar12 = *(int *)(pcVar56 + 0x53a70)" identifier = (pointer_expression "*(int *)(pcVar56 + 0x53a70)" * (cast_expression "(int *)(pcVar56 + 0x53a70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53a70)" ( (binary_expression "pcVar56 + 0x53a70" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(pcVar56 + 0x53950);" (assignment_expression "iVar13 = *(int *)(pcVar56 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) ))))) ;) (do_statement "do {\n          psVar41 = *(sqlite3 **)pcVar57;\n          if ((psStack_214 == (sqlite3_vfs *)0x0) &&\n             (uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14)) {\n            psVar44 = (sqlite3 *)&DAT_00000008;\n            psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344);\n            iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar41);\n            if (iVar15 != 0) goto LAB_00107e50;\n            if ((*(char *)&psVar41->pDfltColl < 0) ||\n               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0')) goto LAB_00107e50;\n            psVar44 = (sqlite3 *)&psStack_214;\n            psVar31 = (sqlite3 *)((int)&psVar41->pDfltColl + 1);\n            argv = psVar49;\n            pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n          }\n          else {\nLAB_00107e50:\n            if (cVar2 == '4') {\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }\n            else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }\n            iVar15 = (*pcVar54)(psVar41);\n            iVar46 = iVar46 + 1 + iVar15;\n            piVar16 = piVar8 + uVar39;\n            uVar39 = uVar39 + 1;\n            *piVar16 = (int)psVar41;\n          }\nLAB_00107e88:\n          psVar43 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1);\n          if (pVStack_218 != (Vdbe *)0x0) {\n            psVar43 = (sqlite3 *)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar57 = pcVar57 + 4;\n        } while (psVar35 != psVar43);" do (compound_statement "{\n          psVar41 = *(sqlite3 **)pcVar57;\n          if ((psStack_214 == (sqlite3_vfs *)0x0) &&\n             (uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14)) {\n            psVar44 = (sqlite3 *)&DAT_00000008;\n            psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344);\n            iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar41);\n            if (iVar15 != 0) goto LAB_00107e50;\n            if ((*(char *)&psVar41->pDfltColl < 0) ||\n               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0')) goto LAB_00107e50;\n            psVar44 = (sqlite3 *)&psStack_214;\n            psVar31 = (sqlite3 *)((int)&psVar41->pDfltColl + 1);\n            argv = psVar49;\n            pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n          }\n          else {\nLAB_00107e50:\n            if (cVar2 == '4') {\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }\n            else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }\n            iVar15 = (*pcVar54)(psVar41);\n            iVar46 = iVar46 + 1 + iVar15;\n            piVar16 = piVar8 + uVar39;\n            uVar39 = uVar39 + 1;\n            *piVar16 = (int)psVar41;\n          }\nLAB_00107e88:\n          psVar43 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1);\n          if (pVStack_218 != (Vdbe *)0x0) {\n            psVar43 = (sqlite3 *)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar57 = pcVar57 + 4;\n        }" { (expression_statement "psVar41 = *(sqlite3 **)pcVar57;" (assignment_expression "psVar41 = *(sqlite3 **)pcVar57" identifier = (pointer_expression "*(sqlite3 **)pcVar57" * (cast_expression "(sqlite3 **)pcVar57" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((psStack_214 == (sqlite3_vfs *)0x0) &&\n             (uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14)) {\n            psVar44 = (sqlite3 *)&DAT_00000008;\n            psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344);\n            iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar41);\n            if (iVar15 != 0) goto LAB_00107e50;\n            if ((*(char *)&psVar41->pDfltColl < 0) ||\n               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0')) goto LAB_00107e50;\n            psVar44 = (sqlite3 *)&psStack_214;\n            psVar31 = (sqlite3 *)((int)&psVar41->pDfltColl + 1);\n            argv = psVar49;\n            pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n          }\n          else {\nLAB_00107e50:\n            if (cVar2 == '4') {\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }\n            else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }\n            iVar15 = (*pcVar54)(psVar41);\n            iVar46 = iVar46 + 1 + iVar15;\n            piVar16 = piVar8 + uVar39;\n            uVar39 = uVar39 + 1;\n            *piVar16 = (int)psVar41;\n          }" if (parenthesized_expression "((psStack_214 == (sqlite3_vfs *)0x0) &&\n             (uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14))" ( (binary_expression "(psStack_214 == (sqlite3_vfs *)0x0) &&\n             (uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14)" (parenthesized_expression "(psStack_214 == (sqlite3_vfs *)0x0)" ( (binary_expression "psStack_214 == (sqlite3_vfs *)0x0" identifier == (cast_expression "(sqlite3_vfs *)0x0" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14)" ( (comma_expression "uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41), 8 < uVar14" (assignment_expression "uVar14 = (**(code **)(pcVar56 + 0x53d18))(psVar41)" identifier = (call_expression "(**(code **)(pcVar56 + 0x53d18))(psVar41)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53d18))" ( (pointer_expression "**(code **)(pcVar56 + 0x53d18)" * (pointer_expression "*(code **)(pcVar56 + 0x53d18)" * (cast_expression "(code **)(pcVar56 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53d18)" ( (binary_expression "pcVar56 + 0x53d18" identifier + number_literal) ))))) )) (argument_list "(psVar41)" ( identifier )))) , (binary_expression "8 < uVar14" number_literal < identifier)) ))) )) (compound_statement "{\n            psVar44 = (sqlite3 *)&DAT_00000008;\n            psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344);\n            iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar41);\n            if (iVar15 != 0) goto LAB_00107e50;\n            if ((*(char *)&psVar41->pDfltColl < 0) ||\n               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0')) goto LAB_00107e50;\n            psVar44 = (sqlite3 *)&psStack_214;\n            psVar31 = (sqlite3 *)((int)&psVar41->pDfltColl + 1);\n            argv = psVar49;\n            pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n          }" { (expression_statement "psVar44 = (sqlite3 *)&DAT_00000008;" (assignment_expression "psVar44 = (sqlite3 *)&DAT_00000008" identifier = (cast_expression "(sqlite3 *)&DAT_00000008" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000008" & identifier))) ;) (expression_statement "psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344);" (assignment_expression "psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344)" identifier = (cast_expression "(sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2344)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar56 + 0x53950) + -0x2344)" ( (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x2344" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar41);" (assignment_expression "iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar41)" identifier = (call_expression "(**(code **)(pcVar56 + 0x53a5c))(psVar41)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53a5c))" ( (pointer_expression "**(code **)(pcVar56 + 0x53a5c)" * (pointer_expression "*(code **)(pcVar56 + 0x53a5c)" * (cast_expression "(code **)(pcVar56 + 0x53a5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53a5c)" ( (binary_expression "pcVar56 + 0x53a5c" identifier + number_literal) ))))) )) (argument_list "(psVar41)" ( identifier )))) ;) (if_statement "if (iVar15 != 0) goto LAB_00107e50;" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00107e50;" goto statement_identifier ;)) (if_statement "if ((*(char *)&psVar41->pDfltColl < 0) ||\n               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0')) goto LAB_00107e50;" if (parenthesized_expression "((*(char *)&psVar41->pDfltColl < 0) ||\n               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0'))" ( (binary_expression "(*(char *)&psVar41->pDfltColl < 0) ||\n               (*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0')" (parenthesized_expression "(*(char *)&psVar41->pDfltColl < 0)" ( (binary_expression "*(char *)&psVar41->pDfltColl < 0" (pointer_expression "*(char *)&psVar41->pDfltColl" * (cast_expression "(char *)&psVar41->pDfltColl" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar41->pDfltColl" & (field_expression "psVar41->pDfltColl" identifier -> field_identifier)))) < number_literal) )) || (parenthesized_expression "(*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0')" ( (binary_expression "*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)\n                != '\0'" (pointer_expression "*(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)" * (cast_expression "(char *)((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0)" ( (binary_expression "(int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950) + 0x25c0" (binary_expression "(int)*(char *)&psVar41->pDfltColl + *(int *)(pcVar56 + 0x53950)" (cast_expression "(int)*(char *)&psVar41->pDfltColl" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)&psVar41->pDfltColl" * (cast_expression "(char *)&psVar41->pDfltColl" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar41->pDfltColl" & (field_expression "psVar41->pDfltColl" identifier -> field_identifier))))) + (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) ))))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00107e50;" goto statement_identifier ;)) (expression_statement "psVar44 = (sqlite3 *)&psStack_214;" (assignment_expression "psVar44 = (sqlite3 *)&psStack_214" identifier = (cast_expression "(sqlite3 *)&psStack_214" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_214" & identifier))) ;) (expression_statement "psVar31 = (sqlite3 *)((int)&psVar41->pDfltColl + 1);" (assignment_expression "psVar31 = (sqlite3 *)((int)&psVar41->pDfltColl + 1)" identifier = (cast_expression "(sqlite3 *)((int)&psVar41->pDfltColl + 1)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar41->pDfltColl + 1)" ( (binary_expression "(int)&psVar41->pDfltColl + 1" (cast_expression "(int)&psVar41->pDfltColl" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar41->pDfltColl" & (field_expression "psVar41->pDfltColl" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "argv = psVar49;" (assignment_expression "argv = psVar49" identifier = identifier) ;) (expression_statement "pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);" (assignment_expression "pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33)" identifier = (cast_expression "(Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33)" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33)" (parenthesized_expression "(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))" ( (pointer_expression "*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8)" * (cast_expression "(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar56 + 0x53a58) + -0x73a8)" ( (binary_expression "*(int *)(pcVar56 + 0x53a58) + -0x73a8" (pointer_expression "*(int *)(pcVar56 + 0x53a58)" * (cast_expression "(int *)(pcVar56 + 0x53a58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53a58)" ( (binary_expression "pcVar56 + 0x53a58" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(psVar33)" ( identifier ))))) ;) }) (else_clause "else {\nLAB_00107e50:\n            if (cVar2 == '4') {\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }\n            else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }\n            iVar15 = (*pcVar54)(psVar41);\n            iVar46 = iVar46 + 1 + iVar15;\n            piVar16 = piVar8 + uVar39;\n            uVar39 = uVar39 + 1;\n            *piVar16 = (int)psVar41;\n          }" else (compound_statement "{\nLAB_00107e50:\n            if (cVar2 == '4') {\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }\n            else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }\n            iVar15 = (*pcVar54)(psVar41);\n            iVar46 = iVar46 + 1 + iVar15;\n            piVar16 = piVar8 + uVar39;\n            uVar39 = uVar39 + 1;\n            *piVar16 = (int)psVar41;\n          }" { (labeled_statement "LAB_00107e50:\n            if (cVar2 == '4') {\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }\n            else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }" statement_identifier : (if_statement "if (cVar2 == '4') {\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }\n            else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }" if (parenthesized_expression "(cVar2 == '4')" ( (binary_expression "cVar2 == '4'" identifier == (char_literal "'4'" ' character ')) )) (compound_statement "{\n              cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;\n              pVVar21 = (Vdbe *)0x0;\n              psVar31 = psVar41;\n              if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }\n              if (cVar1 == '\0') goto LAB_00107e5c;\n              do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');\n            }" { (expression_statement "cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule;" (assignment_expression "cVar1 = *(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule" identifier = (pointer_expression "*(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule" * (cast_expression "(char *)&((sqlite3_vtab *)&psVar41->pVfs)->pModule" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((sqlite3_vtab *)&psVar41->pVfs)->pModule" & (field_expression "((sqlite3_vtab *)&psVar41->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar41->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar41->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar41->pVfs" & (field_expression "psVar41->pVfs" identifier -> field_identifier))) )) -> field_identifier))))) ;) (expression_statement "pVVar21 = (Vdbe *)0x0;" (assignment_expression "pVVar21 = (Vdbe *)0x0" identifier = (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar31 = psVar41;" (assignment_expression "psVar31 = psVar41" identifier = identifier) ;) (if_statement "if (cVar1 == '=') {\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }" if (parenthesized_expression "(cVar1 == '=')" ( (binary_expression "cVar1 == '='" identifier == (char_literal "'='" ' character ')) )) (compound_statement "{\nLAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);\n                if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }\n                goto LAB_00107e88;\n              }" { (labeled_statement "LAB_001080a4:\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);" statement_identifier : (expression_statement "psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);" (assignment_expression "psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1)" identifier = (cast_expression "(sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1)" ( (binary_expression "(int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1" (cast_expression "(int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((sqlite3_vtab *)&psVar31->pVfs)->pModule" & (field_expression "((sqlite3_vtab *)&psVar31->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar31->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar31->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar31->pVfs" & (field_expression "psVar31->pVfs" identifier -> field_identifier))) )) -> field_identifier))) + number_literal) )))) ;)) (expression_statement "psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4);" (assignment_expression "psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4)" identifier = (cast_expression "(sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar56 + 0x5397c))(iVar9 + 0x71f4)" (parenthesized_expression "(**(code **)(pcVar56 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar56 + 0x5397c)" * (pointer_expression "*(code **)(pcVar56 + 0x5397c)" * (cast_expression "(code **)(pcVar56 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x5397c)" ( (binary_expression "pcVar56 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(iVar9 + 0x71f4)" ( (binary_expression "iVar9 + 0x71f4" identifier + number_literal) ))))) ;) (if_statement "if (psVar20 == (sqlite3 *)0x0) {\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }" if (parenthesized_expression "(psVar20 == (sqlite3 *)0x0)" ( (binary_expression "psVar20 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  pVStack_218 = (Vdbe *)&DAT_00000007;\n                }" { (expression_statement "pVStack_218 = (Vdbe *)&DAT_00000007;" (assignment_expression "pVStack_218 = (Vdbe *)&DAT_00000007" identifier = (cast_expression "(Vdbe *)&DAT_00000007" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }) (else_clause "else {\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }" else (compound_statement "{\n                  (*(code *)(iVar11 + 0x1120))(psVar20);\n                  argv = (sqlite3 *)&psStack_20c;\n                  piVar16 = (int *)(iVar10 + -0x5f24);\n                  psVar31 = argv;\n                  do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));\n                  uVar14 = 0;\n                  psVar31 = argv;\n                  do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);\n                  psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);\n                  (*(code *)(iVar12 + 0x2618))(psVar49);\n                  pVStack_218 = (Vdbe *)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);\n                  psVar44 = psVar41;\n                }" { (expression_statement "(*(code *)(iVar11 + 0x1120))(psVar20);" (call_expression "(*(code *)(iVar11 + 0x1120))(psVar20)" (parenthesized_expression "(*(code *)(iVar11 + 0x1120))" ( (pointer_expression "*(code *)(iVar11 + 0x1120)" * (cast_expression "(code *)(iVar11 + 0x1120)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1120)" ( (binary_expression "iVar11 + 0x1120" identifier + number_literal) )))) )) (argument_list "(psVar20)" ( identifier ))) ;) (expression_statement "argv = (sqlite3 *)&psStack_20c;" (assignment_expression "argv = (sqlite3 *)&psStack_20c" identifier = (cast_expression "(sqlite3 *)&psStack_20c" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_20c" & identifier))) ;) (expression_statement "piVar16 = (int *)(iVar10 + -0x5f24);" (assignment_expression "piVar16 = (int *)(iVar10 + -0x5f24)" identifier = (cast_expression "(int *)(iVar10 + -0x5f24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x5f24)" ( (binary_expression "iVar10 + -0x5f24" identifier + number_literal) )))) ;) (expression_statement "psVar31 = argv;" (assignment_expression "psVar31 = argv" identifier = identifier) ;) (do_statement "do {\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  } while (piVar17 != (int *)(iVar10 + -0x5ee4));" do (compound_statement "{\n                    piVar17 = piVar16 + 4;\n                    ((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;\n                    pCVar32 = (CollSeq *)piVar16[2];\n                    psVar42 = (sqlite3 *)piVar16[3];\n                    psVar31->pVdbe = (Vdbe *)piVar16[1];\n                    psVar31->pDfltColl = pCVar32;\n                    psVar31->mutex = (sqlite3_mutex *)psVar42;\n                    piVar16 = piVar17;\n                    psVar31 = (sqlite3 *)&psVar31->aDb;\n                  }" { (expression_statement "piVar17 = piVar16 + 4;" (assignment_expression "piVar17 = piVar16 + 4" identifier = (binary_expression "piVar16 + 4" identifier + number_literal)) ;) (expression_statement "((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16;" (assignment_expression "((sqlite3_vtab *)&psVar31->pVfs)->pModule = (sqlite3_module *)*piVar16" (field_expression "((sqlite3_vtab *)&psVar31->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar31->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar31->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar31->pVfs" & (field_expression "psVar31->pVfs" identifier -> field_identifier))) )) -> field_identifier) = (cast_expression "(sqlite3_module *)*piVar16" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar16" * identifier))) ;) (expression_statement "pCVar32 = (CollSeq *)piVar16[2];" (assignment_expression "pCVar32 = (CollSeq *)piVar16[2]" identifier = (cast_expression "(CollSeq *)piVar16[2]" ( (type_descriptor "CollSeq *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar16[2]" identifier [ number_literal ]))) ;) (expression_statement "psVar42 = (sqlite3 *)piVar16[3];" (assignment_expression "psVar42 = (sqlite3 *)piVar16[3]" identifier = (cast_expression "(sqlite3 *)piVar16[3]" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar16[3]" identifier [ number_literal ]))) ;) (expression_statement "psVar31->pVdbe = (Vdbe *)piVar16[1];" (assignment_expression "psVar31->pVdbe = (Vdbe *)piVar16[1]" (field_expression "psVar31->pVdbe" identifier -> field_identifier) = (cast_expression "(Vdbe *)piVar16[1]" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar16[1]" identifier [ number_literal ]))) ;) (expression_statement "psVar31->pDfltColl = pCVar32;" (assignment_expression "psVar31->pDfltColl = pCVar32" (field_expression "psVar31->pDfltColl" identifier -> field_identifier) = identifier) ;) (expression_statement "psVar31->mutex = (sqlite3_mutex *)psVar42;" (assignment_expression "psVar31->mutex = (sqlite3_mutex *)psVar42" (field_expression "psVar31->mutex" identifier -> field_identifier) = (cast_expression "(sqlite3_mutex *)psVar42" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piVar16 = piVar17;" (assignment_expression "piVar16 = piVar17" identifier = identifier) ;) (expression_statement "psVar31 = (sqlite3 *)&psVar31->aDb;" (assignment_expression "psVar31 = (sqlite3 *)&psVar31->aDb" identifier = (cast_expression "(sqlite3 *)&psVar31->aDb" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar31->aDb" & (field_expression "psVar31->aDb" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "(piVar17 != (int *)(iVar10 + -0x5ee4))" ( (binary_expression "piVar17 != (int *)(iVar10 + -0x5ee4)" identifier != (cast_expression "(int *)(iVar10 + -0x5ee4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x5ee4)" ( (binary_expression "iVar10 + -0x5ee4" identifier + number_literal) )))) )) ;) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (expression_statement "psVar31 = argv;" (assignment_expression "psVar31 = argv" identifier = identifier) ;) (do_statement "do {\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  } while (uVar14 != 8);" do (compound_statement "{\n                    if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar14 = uVar14 + 1;\n                    psVar31 = (sqlite3 *)&psVar31->pDfltColl;\n                  }" { (if_statement "if ((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)) {\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }" if (parenthesized_expression "((psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0))" ( (binary_expression "(psVar31->pVdbe == pVVar21) &&\n                       (iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)" (parenthesized_expression "(psVar31->pVdbe == pVVar21)" ( (binary_expression "psVar31->pVdbe == pVVar21" (field_expression "psVar31->pVdbe" identifier -> field_identifier) == identifier) )) && (parenthesized_expression "(iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0)" ( (comma_expression "iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21), iVar15 == 0" (assignment_expression "iVar15 = (**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21)" identifier = (call_expression "(**(code **)(pcVar56 + 0x53a5c))\n                                           (psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53a5c))" ( (pointer_expression "**(code **)(pcVar56 + 0x53a5c)" * (pointer_expression "*(code **)(pcVar56 + 0x53a5c)" * (cast_expression "(code **)(pcVar56 + 0x53a5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53a5c)" ( (binary_expression "pcVar56 + 0x53a5c" identifier + number_literal) ))))) )) (argument_list "(psVar41,((sqlite3_vtab *)&psVar31->pVfs)->pModule,\n                                            pVVar21)" ( identifier , (field_expression "((sqlite3_vtab *)&psVar31->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar31->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar31->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar31->pVfs" & (field_expression "psVar31->pVfs" identifier -> field_identifier))) )) -> field_identifier) , identifier )))) , (binary_expression "iVar15 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                      if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }\n                      iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);\n                      if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);\n                      psVar41 = psVar20;\n                      (*(code *)(iVar12 + 0x2618))(psVar49);\n                      bVar26 = 1;\n                      pVStack_218 = (Vdbe *)0x1;\n                      goto LAB_0010823c;\n                    }" { (if_statement "if (uVar14 < 8) {\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }" if (parenthesized_expression "(uVar14 < 8)" ( (binary_expression "uVar14 < 8" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        (*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();\n                        return;\n                      }" { comment comment (expression_statement "(*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))();" (call_expression "(*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))()" (parenthesized_expression "(*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904))" ( (pointer_expression "*(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904)" * (parenthesized_expression "(pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904)" ( (binary_expression "pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4) + 0x5b904" (binary_expression "pcVar56 + *(int *)(iVar13 + 0x1b1c + uVar14 * 4)" identifier + (pointer_expression "*(int *)(iVar13 + 0x1b1c + uVar14 * 4)" * (cast_expression "(int *)(iVar13 + 0x1b1c + uVar14 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x1b1c + uVar14 * 4)" ( (binary_expression "iVar13 + 0x1b1c + uVar14 * 4" (binary_expression "iVar13 + 0x1b1c" identifier + number_literal) + (binary_expression "uVar14 * 4" identifier * number_literal)) ))))) + number_literal) ))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20);" (assignment_expression "iVar15 = (**(code **)(pcVar56 + 0x53d18))(psVar20)" identifier = (call_expression "(**(code **)(pcVar56 + 0x53d18))(psVar20)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53d18))" ( (pointer_expression "**(code **)(pcVar56 + 0x53d18)" * (pointer_expression "*(code **)(pcVar56 + 0x53d18)" * (cast_expression "(code **)(pcVar56 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53d18)" ( (binary_expression "pcVar56 + 0x53d18" identifier + number_literal) ))))) )) (argument_list "(psVar20)" ( identifier )))) ;) (if_statement "if (iVar15 == 4) {\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }" if (parenthesized_expression "(iVar15 == 4)" ( (binary_expression "iVar15 == 4" identifier == number_literal) )) (compound_statement "{\n                        psVar41 = (sqlite3 *)&DAT_00000004;\n                        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);\n                        iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);\n                        if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }" { (expression_statement "psVar41 = (sqlite3 *)&DAT_00000004;" (assignment_expression "psVar41 = (sqlite3 *)&DAT_00000004" identifier = (cast_expression "(sqlite3 *)&DAT_00000004" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) (expression_statement "psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528);" (assignment_expression "psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528)" identifier = (cast_expression "(sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x2528)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar56 + 0x53950) + -0x2528)" ( (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x2528" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20);" (assignment_expression "iVar15 = (**(code **)(pcVar56 + 0x53a5c))(psVar20)" identifier = (call_expression "(**(code **)(pcVar56 + 0x53a5c))(psVar20)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53a5c))" ( (pointer_expression "**(code **)(pcVar56 + 0x53a5c)" * (pointer_expression "*(code **)(pcVar56 + 0x53a5c)" * (cast_expression "(code **)(pcVar56 + 0x53a5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53a5c)" ( (binary_expression "pcVar56 + 0x53a5c" identifier + number_literal) ))))) )) (argument_list "(psVar20)" ( identifier )))) ;) (if_statement "if (iVar15 == 0) {\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n                          bVar26 = 1;\n                          goto LAB_0010823c;\n                        }" { (expression_statement "bVar26 = 1;" (assignment_expression "bVar26 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0010823c;" goto statement_identifier ;) })) })) (expression_statement "psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698);" (assignment_expression "psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698)" identifier = (cast_expression "(sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3698)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar56 + 0x53950) + -0x3698)" ( (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x3698" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "psVar41 = psVar20;" (assignment_expression "psVar41 = psVar20" identifier = identifier) ;) (expression_statement "(*(code *)(iVar12 + 0x2618))(psVar49);" (call_expression "(*(code *)(iVar12 + 0x2618))(psVar49)" (parenthesized_expression "(*(code *)(iVar12 + 0x2618))" ( (pointer_expression "*(code *)(iVar12 + 0x2618)" * (cast_expression "(code *)(iVar12 + 0x2618)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x2618)" ( (binary_expression "iVar12 + 0x2618" identifier + number_literal) )))) )) (argument_list "(psVar49)" ( identifier ))) ;) (expression_statement "bVar26 = 1;" (assignment_expression "bVar26 = 1" identifier = number_literal) ;) (expression_statement "pVStack_218 = (Vdbe *)0x1;" (assignment_expression "pVStack_218 = (Vdbe *)0x1" identifier = (cast_expression "(Vdbe *)0x1" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0010823c;" goto statement_identifier ;) })) (expression_statement "uVar14 = uVar14 + 1;" (assignment_expression "uVar14 = uVar14 + 1" identifier = (binary_expression "uVar14 + 1" identifier + number_literal)) ;) (expression_statement "psVar31 = (sqlite3 *)&psVar31->pDfltColl;" (assignment_expression "psVar31 = (sqlite3 *)&psVar31->pDfltColl" identifier = (cast_expression "(sqlite3 *)&psVar31->pDfltColl" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar31->pDfltColl" & (field_expression "psVar31->pDfltColl" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "(uVar14 != 8)" ( (binary_expression "uVar14 != 8" identifier != number_literal) )) ;) (expression_statement "psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658);" (assignment_expression "psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658)" identifier = (cast_expression "(sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3658)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar56 + 0x53950) + -0x3658)" ( (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x3658" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*(code *)(iVar12 + 0x2618))(psVar49);" (call_expression "(*(code *)(iVar12 + 0x2618))(psVar49)" (parenthesized_expression "(*(code *)(iVar12 + 0x2618))" ( (pointer_expression "*(code *)(iVar12 + 0x2618)" * (cast_expression "(code *)(iVar12 + 0x2618)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x2618)" ( (binary_expression "iVar12 + 0x2618" identifier + number_literal) )))) )) (argument_list "(psVar49)" ( identifier ))) ;) (expression_statement "pVStack_218 = (Vdbe *)0x1;" (assignment_expression "pVStack_218 = (Vdbe *)0x1" identifier = (cast_expression "(Vdbe *)0x1" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0010823c:\n                  (**(code **)(pcVar56 + 0x53974))(psVar20);" statement_identifier : (expression_statement "(**(code **)(pcVar56 + 0x53974))(psVar20);" (call_expression "(**(code **)(pcVar56 + 0x53974))(psVar20)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53974))" ( (pointer_expression "**(code **)(pcVar56 + 0x53974)" * (pointer_expression "*(code **)(pcVar56 + 0x53974)" * (cast_expression "(code **)(pcVar56 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53974)" ( (binary_expression "pcVar56 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(psVar20)" ( identifier ))) ;)) (expression_statement "psVar44 = psVar41;" (assignment_expression "psVar44 = psVar41" identifier = identifier) ;) }))) (goto_statement "goto LAB_00107e88;" goto statement_identifier ;) })) (if_statement "if (cVar1 == '\0') goto LAB_00107e5c;" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00107e5c;" goto statement_identifier ;)) (do_statement "do {\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              } while (cVar1 != '\0');" do (compound_statement "{\n                psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);\n                cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;\n                pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);\n                if (cVar1 == '=') goto LAB_001080a4;\n                pcVar54 = *(code **)(pcVar56 + 0x53d18);\n              }" { (expression_statement "psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1);" (assignment_expression "psVar31 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1)" identifier = (cast_expression "(sqlite3 *)((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1)" ( (binary_expression "(int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule + 1" (cast_expression "(int)&((sqlite3_vtab *)&psVar31->pVfs)->pModule" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((sqlite3_vtab *)&psVar31->pVfs)->pModule" & (field_expression "((sqlite3_vtab *)&psVar31->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar31->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar31->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar31->pVfs" & (field_expression "psVar31->pVfs" identifier -> field_identifier))) )) -> field_identifier))) + number_literal) )))) ;) (expression_statement "cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule;" (assignment_expression "cVar1 = *(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule" identifier = (pointer_expression "*(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule" * (cast_expression "(char *)&((sqlite3_vtab *)&psVar31->pVfs)->pModule" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((sqlite3_vtab *)&psVar31->pVfs)->pModule" & (field_expression "((sqlite3_vtab *)&psVar31->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar31->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar31->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar31->pVfs" & (field_expression "psVar31->pVfs" identifier -> field_identifier))) )) -> field_identifier))))) ;) (expression_statement "pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41);" (assignment_expression "pVVar21 = (Vdbe *)((int)psVar31 - (int)psVar41)" identifier = (cast_expression "(Vdbe *)((int)psVar31 - (int)psVar41)" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar31 - (int)psVar41)" ( (binary_expression "(int)psVar31 - (int)psVar41" (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)psVar41" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (cVar1 == '=') goto LAB_001080a4;" if (parenthesized_expression "(cVar1 == '=')" ( (binary_expression "cVar1 == '='" identifier == (char_literal "'='" ' character ')) )) (goto_statement "goto LAB_001080a4;" goto statement_identifier ;)) (expression_statement "pcVar54 = *(code **)(pcVar56 + 0x53d18);" (assignment_expression "pcVar54 = *(code **)(pcVar56 + 0x53d18)" identifier = (pointer_expression "*(code **)(pcVar56 + 0x53d18)" * (cast_expression "(code **)(pcVar56 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53d18)" ( (binary_expression "pcVar56 + 0x53d18" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) }) (else_clause "else {\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }" else (compound_statement "{\nLAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);\n            }" { (labeled_statement "LAB_00107e5c:\n              pcVar54 = *(code **)(pcVar56 + 0x53d18);" statement_identifier : (expression_statement "pcVar54 = *(code **)(pcVar56 + 0x53d18);" (assignment_expression "pcVar54 = *(code **)(pcVar56 + 0x53d18)" identifier = (pointer_expression "*(code **)(pcVar56 + 0x53d18)" * (cast_expression "(code **)(pcVar56 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53d18)" ( (binary_expression "pcVar56 + 0x53d18" identifier + number_literal) ))))) ;)) })))) (expression_statement "iVar15 = (*pcVar54)(psVar41);" (assignment_expression "iVar15 = (*pcVar54)(psVar41)" identifier = (call_expression "(*pcVar54)(psVar41)" (parenthesized_expression "(*pcVar54)" ( (pointer_expression "*pcVar54" * identifier) )) (argument_list "(psVar41)" ( identifier )))) ;) (expression_statement "iVar46 = iVar46 + 1 + iVar15;" (assignment_expression "iVar46 = iVar46 + 1 + iVar15" identifier = (binary_expression "iVar46 + 1 + iVar15" (binary_expression "iVar46 + 1" identifier + number_literal) + identifier)) ;) (expression_statement "piVar16 = piVar8 + uVar39;" (assignment_expression "piVar16 = piVar8 + uVar39" identifier = (binary_expression "piVar8 + uVar39" identifier + identifier)) ;) (expression_statement "uVar39 = uVar39 + 1;" (assignment_expression "uVar39 = uVar39 + 1" identifier = (binary_expression "uVar39 + 1" identifier + number_literal)) ;) (expression_statement "*piVar16 = (int)psVar41;" (assignment_expression "*piVar16 = (int)psVar41" (pointer_expression "*piVar16" * identifier) = (cast_expression "(int)psVar41" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (labeled_statement "LAB_00107e88:\n          psVar43 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1);" statement_identifier : (expression_statement "psVar43 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1);" (assignment_expression "psVar43 = (sqlite3 *)((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1)" identifier = (cast_expression "(sqlite3 *)((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1)" ( (binary_expression "(int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule + 1" (cast_expression "(int)&((sqlite3_vtab *)&psVar43->pVfs)->pModule" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((sqlite3_vtab *)&psVar43->pVfs)->pModule" & (field_expression "((sqlite3_vtab *)&psVar43->pVfs)->pModule" (parenthesized_expression "((sqlite3_vtab *)&psVar43->pVfs)" ( (cast_expression "(sqlite3_vtab *)&psVar43->pVfs" ( (type_descriptor "sqlite3_vtab *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar43->pVfs" & (field_expression "psVar43->pVfs" identifier -> field_identifier))) )) -> field_identifier))) + number_literal) )))) ;)) (if_statement "if (pVStack_218 != (Vdbe *)0x0) {\n            psVar43 = (sqlite3 *)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }" if (parenthesized_expression "(pVStack_218 != (Vdbe *)0x0)" ( (binary_expression "pVStack_218 != (Vdbe *)0x0" identifier != (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            psVar43 = (sqlite3 *)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }" { (expression_statement "psVar43 = (sqlite3 *)0x0;" (assignment_expression "psVar43 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) (expression_statement "pcVar57 = pcVar57 + 4;" (assignment_expression "pcVar57 = pcVar57 + 4" identifier = (binary_expression "pcVar57 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(psVar35 != psVar43)" ( (binary_expression "psVar35 != psVar43" identifier != identifier) )) ;) }))) (if_statement "if (uVar39 == 0) {\n        uVar39 = 1;\n        iVar46 = 8;\n        *piVar8 = *(int *)(pcVar56 + 0x5393c) + 0x6a48;\n      }" if (parenthesized_expression "(uVar39 == 0)" ( (binary_expression "uVar39 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar39 = 1;\n        iVar46 = 8;\n        *piVar8 = *(int *)(pcVar56 + 0x5393c) + 0x6a48;\n      }" { (expression_statement "uVar39 = 1;" (assignment_expression "uVar39 = 1" identifier = number_literal) ;) (expression_statement "iVar46 = 8;" (assignment_expression "iVar46 = 8" identifier = number_literal) ;) (expression_statement "*piVar8 = *(int *)(pcVar56 + 0x5393c) + 0x6a48;" (assignment_expression "*piVar8 = *(int *)(pcVar56 + 0x5393c) + 0x6a48" (pointer_expression "*piVar8" * identifier) = (binary_expression "*(int *)(pcVar56 + 0x5393c) + 0x6a48" (pointer_expression "*(int *)(pcVar56 + 0x5393c)" * (cast_expression "(int *)(pcVar56 + 0x5393c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x5393c)" ( (binary_expression "pcVar56 + 0x5393c" identifier + number_literal) )))) + number_literal)) ;) })) (if_statement "if (psStack_214 == (sqlite3_vfs *)0x0) {\n        psVar44 = (sqlite3 *)&psStack_214;\n        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3ef8);\n        pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n        argv = psVar49;\n        if (pVStack_218 != (Vdbe *)0x0) {\n          iStack_278 = 0;\n          psVar43 = (sqlite3 *)0x0;\n          goto LAB_00107f4c;\n        }\n      }" if (parenthesized_expression "(psStack_214 == (sqlite3_vfs *)0x0)" ( (binary_expression "psStack_214 == (sqlite3_vfs *)0x0" identifier == (cast_expression "(sqlite3_vfs *)0x0" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        psVar44 = (sqlite3 *)&psStack_214;\n        psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3ef8);\n        pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);\n        argv = psVar49;\n        if (pVStack_218 != (Vdbe *)0x0) {\n          iStack_278 = 0;\n          psVar43 = (sqlite3 *)0x0;\n          goto LAB_00107f4c;\n        }\n      }" { (expression_statement "psVar44 = (sqlite3 *)&psStack_214;" (assignment_expression "psVar44 = (sqlite3 *)&psStack_214" identifier = (cast_expression "(sqlite3 *)&psStack_214" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_214" & identifier))) ;) (expression_statement "psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3ef8);" (assignment_expression "psVar31 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3ef8)" identifier = (cast_expression "(sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3ef8)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar56 + 0x53950) + -0x3ef8)" ( (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x3ef8" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33);" (assignment_expression "pVStack_218 = (Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33)" identifier = (cast_expression "(Vdbe *)(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33)" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))(psVar33)" (parenthesized_expression "(*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8))" ( (pointer_expression "*(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8)" * (cast_expression "(code *)(*(int *)(pcVar56 + 0x53a58) + -0x73a8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar56 + 0x53a58) + -0x73a8)" ( (binary_expression "*(int *)(pcVar56 + 0x53a58) + -0x73a8" (pointer_expression "*(int *)(pcVar56 + 0x53a58)" * (cast_expression "(int *)(pcVar56 + 0x53a58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53a58)" ( (binary_expression "pcVar56 + 0x53a58" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(psVar33)" ( identifier ))))) ;) (expression_statement "argv = psVar49;" (assignment_expression "argv = psVar49" identifier = identifier) ;) (if_statement "if (pVStack_218 != (Vdbe *)0x0) {\n          iStack_278 = 0;\n          psVar43 = (sqlite3 *)0x0;\n          goto LAB_00107f4c;\n        }" if (parenthesized_expression "(pVStack_218 != (Vdbe *)0x0)" ( (binary_expression "pVStack_218 != (Vdbe *)0x0" identifier != (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iStack_278 = 0;\n          psVar43 = (sqlite3 *)0x0;\n          goto LAB_00107f4c;\n        }" { (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" identifier = number_literal) ;) (expression_statement "psVar43 = (sqlite3 *)0x0;" (assignment_expression "psVar43 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) })) (expression_statement "psVar31 = (sqlite3 *)0x18;" (assignment_expression "psVar31 = (sqlite3 *)0x18" identifier = (cast_expression "(sqlite3 *)0x18" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_278 = (**(code **)(pcVar56 + 0x53ab4))(0);" (assignment_expression "iStack_278 = (**(code **)(pcVar56 + 0x53ab4))(0)" identifier = (call_expression "(**(code **)(pcVar56 + 0x53ab4))(0)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53ab4))" ( (pointer_expression "**(code **)(pcVar56 + 0x53ab4)" * (pointer_expression "*(code **)(pcVar56 + 0x53ab4)" * (cast_expression "(code **)(pcVar56 + 0x53ab4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53ab4)" ( (binary_expression "pcVar56 + 0x53ab4" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (if_statement "if (iStack_278 == 0) {\n        iStack_278 = 0;\n        psVar43 = (sqlite3 *)0x0;\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }" if (parenthesized_expression "(iStack_278 == 0)" ( (binary_expression "iStack_278 == 0" identifier == number_literal) )) (compound_statement "{\n        iStack_278 = 0;\n        psVar43 = (sqlite3 *)0x0;\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }" { (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" identifier = number_literal) ;) (expression_statement "psVar43 = (sqlite3 *)0x0;" (assignment_expression "psVar43 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pVStack_218 = (Vdbe *)&DAT_00000007;" (assignment_expression "pVStack_218 = (Vdbe *)&DAT_00000007" identifier = (cast_expression "(Vdbe *)&DAT_00000007" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar56 + 0x53d08))(iStack_278,0,0x18);" (call_expression "(**(code **)(pcVar56 + 0x53d08))(iStack_278,0,0x18)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53d08))" ( (pointer_expression "**(code **)(pcVar56 + 0x53d08)" * (pointer_expression "*(code **)(pcVar56 + 0x53d08)" * (cast_expression "(code **)(pcVar56 + 0x53d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53d08)" ( (binary_expression "pcVar56 + 0x53d08" identifier + number_literal) ))))) )) (argument_list "(iStack_278,0,0x18)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pVStack_218 = (Vdbe *)0x0;" (assignment_expression "pVStack_218 = (Vdbe *)0x0" identifier = (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "psVar44 = (sqlite3 *)((uVar39 + 0x4e) * 4);" (assignment_expression "psVar44 = (sqlite3 *)((uVar39 + 0x4e) * 4)" identifier = (cast_expression "(sqlite3 *)((uVar39 + 0x4e) * 4)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar39 + 0x4e) * 4)" ( (binary_expression "(uVar39 + 0x4e) * 4" (parenthesized_expression "(uVar39 + 0x4e)" ( (binary_expression "uVar39 + 0x4e" identifier + number_literal) )) * number_literal) )))) ;) (expression_statement "psVar41 = (sqlite3 *)((int)psVar44->aLimit + iVar7 + 1 + iVar5 + uVar39 + iVar46 + -0x6c);" (assignment_expression "psVar41 = (sqlite3 *)((int)psVar44->aLimit + iVar7 + 1 + iVar5 + uVar39 + iVar46 + -0x6c)" identifier = (cast_expression "(sqlite3 *)((int)psVar44->aLimit + iVar7 + 1 + iVar5 + uVar39 + iVar46 + -0x6c)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar44->aLimit + iVar7 + 1 + iVar5 + uVar39 + iVar46 + -0x6c)" ( (binary_expression "(int)psVar44->aLimit + iVar7 + 1 + iVar5 + uVar39 + iVar46 + -0x6c" (binary_expression "(int)psVar44->aLimit + iVar7 + 1 + iVar5 + uVar39 + iVar46" (binary_expression "(int)psVar44->aLimit + iVar7 + 1 + iVar5 + uVar39" (binary_expression "(int)psVar44->aLimit + iVar7 + 1 + iVar5" (binary_expression "(int)psVar44->aLimit + iVar7 + 1" (binary_expression "(int)psVar44->aLimit + iVar7" (cast_expression "(int)psVar44->aLimit" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar44->aLimit" identifier -> field_identifier)) + identifier) + number_literal) + identifier) + identifier) + identifier) + number_literal) )))) ;) (expression_statement "psVar31 = psVar41;" (assignment_expression "psVar31 = psVar41" identifier = identifier) ;) (expression_statement "psVar43 = (sqlite3 *)(**(code **)(pcVar56 + 0x53ab4))(0);" (assignment_expression "psVar43 = (sqlite3 *)(**(code **)(pcVar56 + 0x53ab4))(0)" identifier = (cast_expression "(sqlite3 *)(**(code **)(pcVar56 + 0x53ab4))(0)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar56 + 0x53ab4))(0)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53ab4))" ( (pointer_expression "**(code **)(pcVar56 + 0x53ab4)" * (pointer_expression "*(code **)(pcVar56 + 0x53ab4)" * (cast_expression "(code **)(pcVar56 + 0x53ab4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53ab4)" ( (binary_expression "pcVar56 + 0x53ab4" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))))) ;) (if_statement "if (psVar43 == (sqlite3 *)0x0) {\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }" if (parenthesized_expression "(psVar43 == (sqlite3 *)0x0)" ( (binary_expression "psVar43 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        goto LAB_00107f4c;\n      }" { (expression_statement "pVStack_218 = (Vdbe *)&DAT_00000007;" (assignment_expression "pVStack_218 = (Vdbe *)&DAT_00000007" identifier = (cast_expression "(Vdbe *)&DAT_00000007" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar56 + 0x53d08))(psVar43,0,psVar41);" (call_expression "(**(code **)(pcVar56 + 0x53d08))(psVar43,0,psVar41)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53d08))" ( (pointer_expression "**(code **)(pcVar56 + 0x53d08)" * (pointer_expression "*(code **)(pcVar56 + 0x53d08)" * (cast_expression "(code **)(pcVar56 + 0x53d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53d08)" ( (binary_expression "pcVar56 + 0x53d08" identifier + number_literal) ))))) )) (argument_list "(psVar43,0,psVar41)" ( identifier , number_literal , identifier ))) ;) (expression_statement "puVar28 = &(psVar43->lookaside).nSlot;" (assignment_expression "puVar28 = &(psVar43->lookaside).nSlot" identifier = (pointer_expression "&(psVar43->lookaside).nSlot" & (field_expression "(psVar43->lookaside).nSlot" (parenthesized_expression "(psVar43->lookaside)" ( (field_expression "psVar43->lookaside" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "psVar43->mDbFlags = uVar39;" (assignment_expression "psVar43->mDbFlags = uVar39" (field_expression "psVar43->mDbFlags" identifier -> field_identifier) = identifier) ;) (expression_statement "psVar43->mutex = (sqlite3_mutex *)psVar38;" (assignment_expression "psVar43->mutex = (sqlite3_mutex *)psVar38" (field_expression "psVar43->mutex" identifier -> field_identifier) = (cast_expression "(sqlite3_mutex *)psVar38" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar43->pCollNeededArg = (void *)0x0;" (assignment_expression "psVar43->pCollNeededArg = (void *)0x0" (field_expression "psVar43->pCollNeededArg" identifier -> field_identifier) = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(u32 **)&psVar43->field_0x1c = puVar28;" (assignment_expression "*(u32 **)&psVar43->field_0x1c = puVar28" (pointer_expression "*(u32 **)&psVar43->field_0x1c" * (cast_expression "(u32 **)&psVar43->field_0x1c" ( (type_descriptor "u32 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar43->field_0x1c" & (field_expression "psVar43->field_0x1c" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(sqlite3_vfs **)((int)&psVar43->flags + 4) = psStack_214;" (assignment_expression "*(sqlite3_vfs **)((int)&psVar43->flags + 4) = psStack_214" (pointer_expression "*(sqlite3_vfs **)((int)&psVar43->flags + 4)" * (cast_expression "(sqlite3_vfs **)((int)&psVar43->flags + 4)" ( (type_descriptor "sqlite3_vfs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&psVar43->flags + 4)" ( (binary_expression "(int)&psVar43->flags + 4" (cast_expression "(int)&psVar43->flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->flags" & (field_expression "psVar43->flags" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "psVar43->xCollNeeded16 = (_func_void_void_ptr_sqlite3_ptr_int_void_ptr *)&LAB_00100000;" (assignment_expression "psVar43->xCollNeeded16 = (_func_void_void_ptr_sqlite3_ptr_int_void_ptr *)&LAB_00100000" (field_expression "psVar43->xCollNeeded16" identifier -> field_identifier) = (cast_expression "(_func_void_void_ptr_sqlite3_ptr_int_void_ptr *)&LAB_00100000" ( (type_descriptor "_func_void_void_ptr_sqlite3_ptr_int_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&LAB_00100000" & identifier))) ;) (if_statement "if (cVar2 == '4') {\n        bVar26 = bVar26 ^ 1;\n      }\n      else {\n        bVar26 = 0;\n      }" if (parenthesized_expression "(cVar2 == '4')" ( (binary_expression "cVar2 == '4'" identifier == (char_literal "'4'" ' character ')) )) (compound_statement "{\n        bVar26 = bVar26 ^ 1;\n      }" { (expression_statement "bVar26 = bVar26 ^ 1;" (assignment_expression "bVar26 = bVar26 ^ 1" identifier = (binary_expression "bVar26 ^ 1" identifier ^ number_literal)) ;) }) (else_clause "else {\n        bVar26 = 0;\n      }" else (compound_statement "{\n        bVar26 = 0;\n      }" { (expression_statement "bVar26 = 0;" (assignment_expression "bVar26 = 0" identifier = number_literal) ;) }))) (expression_statement "*(byte *)((int)&psVar43->xUpdateCallback + 2) = bVar26;" (assignment_expression "*(byte *)((int)&psVar43->xUpdateCallback + 2) = bVar26" (pointer_expression "*(byte *)((int)&psVar43->xUpdateCallback + 2)" * (cast_expression "(byte *)((int)&psVar43->xUpdateCallback + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar43->xUpdateCallback + 2)" ( (binary_expression "(int)&psVar43->xUpdateCallback + 2" (cast_expression "(int)&psVar43->xUpdateCallback" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->xUpdateCallback" & (field_expression "psVar43->xUpdateCallback" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "pcVar57 = *(code **)(pcVar56 + 0x53d84);" (assignment_expression "pcVar57 = *(code **)(pcVar56 + 0x53d84)" identifier = (pointer_expression "*(code **)(pcVar56 + 0x53d84)" * (cast_expression "(code **)(pcVar56 + 0x53d84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53d84)" ( (binary_expression "pcVar56 + 0x53d84" identifier + number_literal) ))))) ;) (expression_statement "pFVar18 = (Fts3Index *)(puVar28 + uVar39);" (assignment_expression "pFVar18 = (Fts3Index *)(puVar28 + uVar39)" identifier = (cast_expression "(Fts3Index *)(puVar28 + uVar39)" ( (type_descriptor "Fts3Index *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + uVar39)" ( (binary_expression "puVar28 + uVar39" identifier + identifier) )))) ;) (expression_statement "*(u8 *)((int)&psVar43->xUpdateCallback + 3) = '\0';" (assignment_expression "*(u8 *)((int)&psVar43->xUpdateCallback + 3) = '\0'" (pointer_expression "*(u8 *)((int)&psVar43->xUpdateCallback + 3)" * (cast_expression "(u8 *)((int)&psVar43->xUpdateCallback + 3)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar43->xUpdateCallback + 3)" ( (binary_expression "(int)&psVar43->xUpdateCallback + 3" (cast_expression "(int)&psVar43->xUpdateCallback" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->xUpdateCallback" & (field_expression "psVar43->xUpdateCallback" identifier -> field_identifier))) + number_literal) )))) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "*(char **)&psVar43->lastRowid = (char *)0x0;" (assignment_expression "*(char **)&psVar43->lastRowid = (char *)0x0" (pointer_expression "*(char **)&psVar43->lastRowid" * (cast_expression "(char **)&psVar43->lastRowid" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar43->lastRowid" & (field_expression "psVar43->lastRowid" identifier -> field_identifier)))) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(char **)((int)&psVar43->lastRowid + 4) = (char *)0x0;" (assignment_expression "*(char **)((int)&psVar43->lastRowid + 4) = (char *)0x0" (pointer_expression "*(char **)((int)&psVar43->lastRowid + 4)" * (cast_expression "(char **)((int)&psVar43->lastRowid + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&psVar43->lastRowid + 4)" ( (binary_expression "(int)&psVar43->lastRowid + 4" (cast_expression "(int)&psVar43->lastRowid" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->lastRowid" & (field_expression "psVar43->lastRowid" identifier -> field_identifier))) + number_literal) )))) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar43->xCollNeeded = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr *)pFVar18;" (assignment_expression "psVar43->xCollNeeded = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr *)pFVar18" (field_expression "psVar43->xCollNeeded" identifier -> field_identifier) = (cast_expression "(_func_void_void_ptr_sqlite3_ptr_int_char_ptr *)pFVar18" ( (type_descriptor "_func_void_void_ptr_sqlite3_ptr_int_char_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(int *)&psVar43->szMmap = 0xff;" (assignment_expression "*(int *)&psVar43->szMmap = 0xff" (pointer_expression "*(int *)&psVar43->szMmap" * (cast_expression "(int *)&psVar43->szMmap" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar43->szMmap" & (field_expression "psVar43->szMmap" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(bool *)((int)&psVar43->xUpdateCallback + 1) = cVar2 == '4';" (assignment_expression "*(bool *)((int)&psVar43->xUpdateCallback + 1) = cVar2 == '4'" (pointer_expression "*(bool *)((int)&psVar43->xUpdateCallback + 1)" * (cast_expression "(bool *)((int)&psVar43->xUpdateCallback + 1)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar43->xUpdateCallback + 1)" ( (binary_expression "(int)&psVar43->xUpdateCallback + 1" (cast_expression "(int)&psVar43->xUpdateCallback" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->xUpdateCallback" & (field_expression "psVar43->xUpdateCallback" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "cVar2 == '4'" identifier == (char_literal "'4'" ' character '))) ;) (expression_statement "*(bool *)&psVar43->xUpdateCallback = cVar2 == '4';" (assignment_expression "*(bool *)&psVar43->xUpdateCallback = cVar2 == '4'" (pointer_expression "*(bool *)&psVar43->xUpdateCallback" * (cast_expression "(bool *)&psVar43->xUpdateCallback" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar43->xUpdateCallback" & (field_expression "psVar43->xUpdateCallback" identifier -> field_identifier)))) = (binary_expression "cVar2 == '4'" identifier == (char_literal "'4'" ' character '))) ;) (expression_statement "(*pcVar57)(pFVar18,iStack_278,0x18);" (call_expression "(*pcVar57)(pFVar18,iStack_278,0x18)" (parenthesized_expression "(*pcVar57)" ( (pointer_expression "*pcVar57" * identifier) )) (argument_list "(pFVar18,iStack_278,0x18)" ( identifier , identifier , number_literal ))) ;) (expression_statement "psVar43->pWalArg = (void *)0x1;" (assignment_expression "psVar43->pWalArg = (void *)0x1" (field_expression "psVar43->pWalArg" identifier -> field_identifier) = (cast_expression "(void *)0x1" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar46 = 0;" (assignment_expression "iVar46 = 0" identifier = number_literal) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n        pFVar18 = (Fts3Index *)psVar43->xCollNeeded;\n        iVar46 = iVar46 + 1;\n        *(undefined2 *)(&(pFVar18->hPending).keyClass + iVar9) = 0x101;\n        *(undefined4 *)((int)&(pFVar18->hPending).first + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).count + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).htsize + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).ht + iVar9) = 0;\n        iVar9 = iVar9 + 0x18;\n      } while (iVar46 != 1);" do (compound_statement "{\n        pFVar18 = (Fts3Index *)psVar43->xCollNeeded;\n        iVar46 = iVar46 + 1;\n        *(undefined2 *)(&(pFVar18->hPending).keyClass + iVar9) = 0x101;\n        *(undefined4 *)((int)&(pFVar18->hPending).first + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).count + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).htsize + iVar9) = 0;\n        *(undefined4 *)((int)&(pFVar18->hPending).ht + iVar9) = 0;\n        iVar9 = iVar9 + 0x18;\n      }" { (expression_statement "pFVar18 = (Fts3Index *)psVar43->xCollNeeded;" (assignment_expression "pFVar18 = (Fts3Index *)psVar43->xCollNeeded" identifier = (cast_expression "(Fts3Index *)psVar43->xCollNeeded" ( (type_descriptor "Fts3Index *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->xCollNeeded" identifier -> field_identifier))) ;) (expression_statement "iVar46 = iVar46 + 1;" (assignment_expression "iVar46 = iVar46 + 1" identifier = (binary_expression "iVar46 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined2 *)(&(pFVar18->hPending).keyClass + iVar9) = 0x101;" (assignment_expression "*(undefined2 *)(&(pFVar18->hPending).keyClass + iVar9) = 0x101" (pointer_expression "*(undefined2 *)(&(pFVar18->hPending).keyClass + iVar9)" * (cast_expression "(undefined2 *)(&(pFVar18->hPending).keyClass + iVar9)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&(pFVar18->hPending).keyClass + iVar9)" ( (binary_expression "&(pFVar18->hPending).keyClass + iVar9" (pointer_expression "&(pFVar18->hPending).keyClass" & (field_expression "(pFVar18->hPending).keyClass" (parenthesized_expression "(pFVar18->hPending)" ( (field_expression "pFVar18->hPending" identifier -> field_identifier) )) . field_identifier)) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pFVar18->hPending).first + iVar9) = 0;" (assignment_expression "*(undefined4 *)((int)&(pFVar18->hPending).first + iVar9) = 0" (pointer_expression "*(undefined4 *)((int)&(pFVar18->hPending).first + iVar9)" * (cast_expression "(undefined4 *)((int)&(pFVar18->hPending).first + iVar9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pFVar18->hPending).first + iVar9)" ( (binary_expression "(int)&(pFVar18->hPending).first + iVar9" (cast_expression "(int)&(pFVar18->hPending).first" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pFVar18->hPending).first" & (field_expression "(pFVar18->hPending).first" (parenthesized_expression "(pFVar18->hPending)" ( (field_expression "pFVar18->hPending" identifier -> field_identifier) )) . field_identifier))) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pFVar18->hPending).count + iVar9) = 0;" (assignment_expression "*(undefined4 *)((int)&(pFVar18->hPending).count + iVar9) = 0" (pointer_expression "*(undefined4 *)((int)&(pFVar18->hPending).count + iVar9)" * (cast_expression "(undefined4 *)((int)&(pFVar18->hPending).count + iVar9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pFVar18->hPending).count + iVar9)" ( (binary_expression "(int)&(pFVar18->hPending).count + iVar9" (cast_expression "(int)&(pFVar18->hPending).count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pFVar18->hPending).count" & (field_expression "(pFVar18->hPending).count" (parenthesized_expression "(pFVar18->hPending)" ( (field_expression "pFVar18->hPending" identifier -> field_identifier) )) . field_identifier))) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pFVar18->hPending).htsize + iVar9) = 0;" (assignment_expression "*(undefined4 *)((int)&(pFVar18->hPending).htsize + iVar9) = 0" (pointer_expression "*(undefined4 *)((int)&(pFVar18->hPending).htsize + iVar9)" * (cast_expression "(undefined4 *)((int)&(pFVar18->hPending).htsize + iVar9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pFVar18->hPending).htsize + iVar9)" ( (binary_expression "(int)&(pFVar18->hPending).htsize + iVar9" (cast_expression "(int)&(pFVar18->hPending).htsize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pFVar18->hPending).htsize" & (field_expression "(pFVar18->hPending).htsize" (parenthesized_expression "(pFVar18->hPending)" ( (field_expression "pFVar18->hPending" identifier -> field_identifier) )) . field_identifier))) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pFVar18->hPending).ht + iVar9) = 0;" (assignment_expression "*(undefined4 *)((int)&(pFVar18->hPending).ht + iVar9) = 0" (pointer_expression "*(undefined4 *)((int)&(pFVar18->hPending).ht + iVar9)" * (cast_expression "(undefined4 *)((int)&(pFVar18->hPending).ht + iVar9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pFVar18->hPending).ht + iVar9)" ( (binary_expression "(int)&(pFVar18->hPending).ht + iVar9" (cast_expression "(int)&(pFVar18->hPending).ht" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pFVar18->hPending).ht" & (field_expression "(pFVar18->hPending).ht" (parenthesized_expression "(pFVar18->hPending)" ( (field_expression "pFVar18->hPending" identifier -> field_identifier) )) . field_identifier))) + identifier) )))) = number_literal) ;) (expression_statement "iVar9 = iVar9 + 0x18;" (assignment_expression "iVar9 = iVar9 + 0x18" identifier = (binary_expression "iVar9 + 0x18" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar46 != 1)" ( (binary_expression "iVar46 != 1" identifier != number_literal) )) ;) (expression_statement "pcVar57 = *(code **)(pcVar56 + 0x53d84);" (assignment_expression "pcVar57 = *(code **)(pcVar56 + 0x53d84)" identifier = (pointer_expression "*(code **)(pcVar56 + 0x53d84)" * (cast_expression "(code **)(pcVar56 + 0x53d84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53d84)" ( (binary_expression "pcVar56 + 0x53d84" identifier + number_literal) ))))) ;) (expression_statement "pcVar47 = (char *)((int)&((Fts3Index *)psVar43->xCollNeeded)[1].nPrefix + uVar39);" (assignment_expression "pcVar47 = (char *)((int)&((Fts3Index *)psVar43->xCollNeeded)[1].nPrefix + uVar39)" identifier = (cast_expression "(char *)((int)&((Fts3Index *)psVar43->xCollNeeded)[1].nPrefix + uVar39)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((Fts3Index *)psVar43->xCollNeeded)[1].nPrefix + uVar39)" ( (binary_expression "(int)&((Fts3Index *)psVar43->xCollNeeded)[1].nPrefix + uVar39" (cast_expression "(int)&((Fts3Index *)psVar43->xCollNeeded)[1].nPrefix" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((Fts3Index *)psVar43->xCollNeeded)[1].nPrefix" & (field_expression "((Fts3Index *)psVar43->xCollNeeded)[1].nPrefix" (subscript_expression "((Fts3Index *)psVar43->xCollNeeded)[1]" (parenthesized_expression "((Fts3Index *)psVar43->xCollNeeded)" ( (cast_expression "(Fts3Index *)psVar43->xCollNeeded" ( (type_descriptor "Fts3Index *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->xCollNeeded" identifier -> field_identifier)) )) [ number_literal ]) . field_identifier))) + identifier) )))) ;) (expression_statement "*(Fts3Index **)&psVar43->flags = (Fts3Index *)psVar43->xCollNeeded + 1;" (assignment_expression "*(Fts3Index **)&psVar43->flags = (Fts3Index *)psVar43->xCollNeeded + 1" (pointer_expression "*(Fts3Index **)&psVar43->flags" * (cast_expression "(Fts3Index **)&psVar43->flags" ( (type_descriptor "Fts3Index **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar43->flags" & (field_expression "psVar43->flags" identifier -> field_identifier)))) = (binary_expression "(Fts3Index *)psVar43->xCollNeeded + 1" (cast_expression "(Fts3Index *)psVar43->xCollNeeded" ( (type_descriptor "Fts3Index *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->xCollNeeded" identifier -> field_identifier)) + number_literal)) ;) (expression_statement "psVar43->nDb = (int)pcVar47;" (assignment_expression "psVar43->nDb = (int)pcVar47" (field_expression "psVar43->nDb" identifier -> field_identifier) = (cast_expression "(int)pcVar47" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pDVar40 = (Db *)(pcVar47 + iVar7 + 1);" (assignment_expression "pDVar40 = (Db *)(pcVar47 + iVar7 + 1)" identifier = (cast_expression "(Db *)(pcVar47 + iVar7 + 1)" ( (type_descriptor "Db *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar47 + iVar7 + 1)" ( (binary_expression "pcVar47 + iVar7 + 1" (binary_expression "pcVar47 + iVar7" identifier + identifier) + number_literal) )))) ;) (expression_statement "pcVar55 = (char *)((int)&pDVar40->zDbSName + iVar5);" (assignment_expression "pcVar55 = (char *)((int)&pDVar40->zDbSName + iVar5)" identifier = (cast_expression "(char *)((int)&pDVar40->zDbSName + iVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pDVar40->zDbSName + iVar5)" ( (binary_expression "(int)&pDVar40->zDbSName + iVar5" (cast_expression "(int)&pDVar40->zDbSName" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pDVar40->zDbSName" & (field_expression "pDVar40->zDbSName" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "(*pcVar57)(pcVar47,*(int *)(pcVar51 + 8));" (call_expression "(*pcVar57)(pcVar47,*(int *)(pcVar51 + 8))" (parenthesized_expression "(*pcVar57)" ( (pointer_expression "*pcVar57" * identifier) )) (argument_list "(pcVar47,*(int *)(pcVar51 + 8))" ( identifier , (pointer_expression "*(int *)(pcVar51 + 8)" * (cast_expression "(int *)(pcVar51 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar51 + 8)" ( (binary_expression "pcVar51 + 8" identifier + number_literal) )))) ))) ;) (expression_statement "psVar43->aDb = pDVar40;" (assignment_expression "psVar43->aDb = pDVar40" (field_expression "psVar43->aDb" identifier -> field_identifier) = identifier) ;) (expression_statement "(**(code **)(pcVar56 + 0x53d84))(pDVar40,*(int *)(pcVar51 + 4),iVar5);" (call_expression "(**(code **)(pcVar56 + 0x53d84))(pDVar40,*(int *)(pcVar51 + 4),iVar5)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53d84))" ( (pointer_expression "**(code **)(pcVar56 + 0x53d84)" * (pointer_expression "*(code **)(pcVar56 + 0x53d84)" * (cast_expression "(code **)(pcVar56 + 0x53d84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53d84)" ( (binary_expression "pcVar56 + 0x53d84" identifier + number_literal) ))))) )) (argument_list "(pDVar40,*(int *)(pcVar51 + 4),iVar5)" ( identifier , (pointer_expression "*(int *)(pcVar51 + 4)" * (cast_expression "(int *)(pcVar51 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar51 + 4)" ( (binary_expression "pcVar51 + 4" identifier + number_literal) )))) , identifier ))) ;) (if_statement "if (0 < (int)uVar39) {\n        iVar7 = *(int *)(pcVar56 + 0x539b0);\n        iVar9 = 0;\n        iVar5 = *(int *)(pcVar56 + 0x539b0);\n        do {\n          pVStack_210 = (Vdbe *)0x0;\n          uVar19 = (*(code *)(iVar5 + 0x273c))(*(undefined4 *)((int)piVar8 + iVar9),&pVStack_210);\n          if (0 < (int)pVStack_210) {\n            (**(code **)(pcVar56 + 0x53d84))(pcVar55,uVar19);\n          }\n          pcVar55[(int)pVStack_210] = '\0';\n          (*(code *)(iVar7 + 0x1120))(pcVar55);\n          puVar45 = (undefined4 *)((int)*(char ***)&psVar43->field_0x1c + iVar9);\n          iVar9 = iVar9 + 4;\n          *puVar45 = pcVar55;\n          pcVar55 = pcVar55 + (int)((int)&pVStack_210->db + 1);\n        } while (uVar39 * 4 != iVar9);\n        uVar48 = 0;\n        do {\n          (**(code **)(pcVar56 + 0x53d18))((*(char ***)&psVar43->field_0x1c)[uVar48]);\n          uVar48 = uVar48 + 1;\n        } while (uVar48 != uVar39);\n      }" if (parenthesized_expression "(0 < (int)uVar39)" ( (binary_expression "0 < (int)uVar39" number_literal < (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar7 = *(int *)(pcVar56 + 0x539b0);\n        iVar9 = 0;\n        iVar5 = *(int *)(pcVar56 + 0x539b0);\n        do {\n          pVStack_210 = (Vdbe *)0x0;\n          uVar19 = (*(code *)(iVar5 + 0x273c))(*(undefined4 *)((int)piVar8 + iVar9),&pVStack_210);\n          if (0 < (int)pVStack_210) {\n            (**(code **)(pcVar56 + 0x53d84))(pcVar55,uVar19);\n          }\n          pcVar55[(int)pVStack_210] = '\0';\n          (*(code *)(iVar7 + 0x1120))(pcVar55);\n          puVar45 = (undefined4 *)((int)*(char ***)&psVar43->field_0x1c + iVar9);\n          iVar9 = iVar9 + 4;\n          *puVar45 = pcVar55;\n          pcVar55 = pcVar55 + (int)((int)&pVStack_210->db + 1);\n        } while (uVar39 * 4 != iVar9);\n        uVar48 = 0;\n        do {\n          (**(code **)(pcVar56 + 0x53d18))((*(char ***)&psVar43->field_0x1c)[uVar48]);\n          uVar48 = uVar48 + 1;\n        } while (uVar48 != uVar39);\n      }" { (expression_statement "iVar7 = *(int *)(pcVar56 + 0x539b0);" (assignment_expression "iVar7 = *(int *)(pcVar56 + 0x539b0)" identifier = (pointer_expression "*(int *)(pcVar56 + 0x539b0)" * (cast_expression "(int *)(pcVar56 + 0x539b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x539b0)" ( (binary_expression "pcVar56 + 0x539b0" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "iVar5 = *(int *)(pcVar56 + 0x539b0);" (assignment_expression "iVar5 = *(int *)(pcVar56 + 0x539b0)" identifier = (pointer_expression "*(int *)(pcVar56 + 0x539b0)" * (cast_expression "(int *)(pcVar56 + 0x539b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x539b0)" ( (binary_expression "pcVar56 + 0x539b0" identifier + number_literal) ))))) ;) (do_statement "do {\n          pVStack_210 = (Vdbe *)0x0;\n          uVar19 = (*(code *)(iVar5 + 0x273c))(*(undefined4 *)((int)piVar8 + iVar9),&pVStack_210);\n          if (0 < (int)pVStack_210) {\n            (**(code **)(pcVar56 + 0x53d84))(pcVar55,uVar19);\n          }\n          pcVar55[(int)pVStack_210] = '\0';\n          (*(code *)(iVar7 + 0x1120))(pcVar55);\n          puVar45 = (undefined4 *)((int)*(char ***)&psVar43->field_0x1c + iVar9);\n          iVar9 = iVar9 + 4;\n          *puVar45 = pcVar55;\n          pcVar55 = pcVar55 + (int)((int)&pVStack_210->db + 1);\n        } while (uVar39 * 4 != iVar9);" do (compound_statement "{\n          pVStack_210 = (Vdbe *)0x0;\n          uVar19 = (*(code *)(iVar5 + 0x273c))(*(undefined4 *)((int)piVar8 + iVar9),&pVStack_210);\n          if (0 < (int)pVStack_210) {\n            (**(code **)(pcVar56 + 0x53d84))(pcVar55,uVar19);\n          }\n          pcVar55[(int)pVStack_210] = '\0';\n          (*(code *)(iVar7 + 0x1120))(pcVar55);\n          puVar45 = (undefined4 *)((int)*(char ***)&psVar43->field_0x1c + iVar9);\n          iVar9 = iVar9 + 4;\n          *puVar45 = pcVar55;\n          pcVar55 = pcVar55 + (int)((int)&pVStack_210->db + 1);\n        }" { (expression_statement "pVStack_210 = (Vdbe *)0x0;" (assignment_expression "pVStack_210 = (Vdbe *)0x0" identifier = (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar19 = (*(code *)(iVar5 + 0x273c))(*(undefined4 *)((int)piVar8 + iVar9),&pVStack_210);" (assignment_expression "uVar19 = (*(code *)(iVar5 + 0x273c))(*(undefined4 *)((int)piVar8 + iVar9),&pVStack_210)" identifier = (call_expression "(*(code *)(iVar5 + 0x273c))(*(undefined4 *)((int)piVar8 + iVar9),&pVStack_210)" (parenthesized_expression "(*(code *)(iVar5 + 0x273c))" ( (pointer_expression "*(code *)(iVar5 + 0x273c)" * (cast_expression "(code *)(iVar5 + 0x273c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x273c)" ( (binary_expression "iVar5 + 0x273c" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)((int)piVar8 + iVar9),&pVStack_210)" ( (pointer_expression "*(undefined4 *)((int)piVar8 + iVar9)" * (cast_expression "(undefined4 *)((int)piVar8 + iVar9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 + iVar9)" ( (binary_expression "(int)piVar8 + iVar9" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) , (pointer_expression "&pVStack_210" & identifier) )))) ;) (if_statement "if (0 < (int)pVStack_210) {\n            (**(code **)(pcVar56 + 0x53d84))(pcVar55,uVar19);\n          }" if (parenthesized_expression "(0 < (int)pVStack_210)" ( (binary_expression "0 < (int)pVStack_210" number_literal < (cast_expression "(int)pVStack_210" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            (**(code **)(pcVar56 + 0x53d84))(pcVar55,uVar19);\n          }" { (expression_statement "(**(code **)(pcVar56 + 0x53d84))(pcVar55,uVar19);" (call_expression "(**(code **)(pcVar56 + 0x53d84))(pcVar55,uVar19)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53d84))" ( (pointer_expression "**(code **)(pcVar56 + 0x53d84)" * (pointer_expression "*(code **)(pcVar56 + 0x53d84)" * (cast_expression "(code **)(pcVar56 + 0x53d84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53d84)" ( (binary_expression "pcVar56 + 0x53d84" identifier + number_literal) ))))) )) (argument_list "(pcVar55,uVar19)" ( identifier , identifier ))) ;) })) (expression_statement "pcVar55[(int)pVStack_210] = '\0';" (assignment_expression "pcVar55[(int)pVStack_210] = '\0'" (subscript_expression "pcVar55[(int)pVStack_210]" identifier [ (cast_expression "(int)pVStack_210" ( (type_descriptor "int" primitive_type) ) identifier) ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "(*(code *)(iVar7 + 0x1120))(pcVar55);" (call_expression "(*(code *)(iVar7 + 0x1120))(pcVar55)" (parenthesized_expression "(*(code *)(iVar7 + 0x1120))" ( (pointer_expression "*(code *)(iVar7 + 0x1120)" * (cast_expression "(code *)(iVar7 + 0x1120)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1120)" ( (binary_expression "iVar7 + 0x1120" identifier + number_literal) )))) )) (argument_list "(pcVar55)" ( identifier ))) ;) (expression_statement "puVar45 = (undefined4 *)((int)*(char ***)&psVar43->field_0x1c + iVar9);" (assignment_expression "puVar45 = (undefined4 *)((int)*(char ***)&psVar43->field_0x1c + iVar9)" identifier = (cast_expression "(undefined4 *)((int)*(char ***)&psVar43->field_0x1c + iVar9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*(char ***)&psVar43->field_0x1c + iVar9)" ( (binary_expression "(int)*(char ***)&psVar43->field_0x1c + iVar9" (cast_expression "(int)*(char ***)&psVar43->field_0x1c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char ***)&psVar43->field_0x1c" * (cast_expression "(char ***)&psVar43->field_0x1c" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&psVar43->field_0x1c" & (field_expression "psVar43->field_0x1c" identifier -> field_identifier))))) + identifier) )))) ;) (expression_statement "iVar9 = iVar9 + 4;" (assignment_expression "iVar9 = iVar9 + 4" identifier = (binary_expression "iVar9 + 4" identifier + number_literal)) ;) (expression_statement "*puVar45 = pcVar55;" (assignment_expression "*puVar45 = pcVar55" (pointer_expression "*puVar45" * identifier) = identifier) ;) (expression_statement "pcVar55 = pcVar55 + (int)((int)&pVStack_210->db + 1);" (assignment_expression "pcVar55 = pcVar55 + (int)((int)&pVStack_210->db + 1)" identifier = (binary_expression "pcVar55 + (int)((int)&pVStack_210->db + 1)" identifier + (cast_expression "(int)((int)&pVStack_210->db + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pVStack_210->db + 1)" ( (binary_expression "(int)&pVStack_210->db + 1" (cast_expression "(int)&pVStack_210->db" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pVStack_210->db" & (field_expression "pVStack_210->db" identifier -> field_identifier))) + number_literal) ))))) ;) }) while (parenthesized_expression "(uVar39 * 4 != iVar9)" ( (binary_expression "uVar39 * 4 != iVar9" (binary_expression "uVar39 * 4" identifier * number_literal) != identifier) )) ;) (expression_statement "uVar48 = 0;" (assignment_expression "uVar48 = 0" identifier = number_literal) ;) (do_statement "do {\n          (**(code **)(pcVar56 + 0x53d18))((*(char ***)&psVar43->field_0x1c)[uVar48]);\n          uVar48 = uVar48 + 1;\n        } while (uVar48 != uVar39);" do (compound_statement "{\n          (**(code **)(pcVar56 + 0x53d18))((*(char ***)&psVar43->field_0x1c)[uVar48]);\n          uVar48 = uVar48 + 1;\n        }" { (expression_statement "(**(code **)(pcVar56 + 0x53d18))((*(char ***)&psVar43->field_0x1c)[uVar48]);" (call_expression "(**(code **)(pcVar56 + 0x53d18))((*(char ***)&psVar43->field_0x1c)[uVar48])" (parenthesized_expression "(**(code **)(pcVar56 + 0x53d18))" ( (pointer_expression "**(code **)(pcVar56 + 0x53d18)" * (pointer_expression "*(code **)(pcVar56 + 0x53d18)" * (cast_expression "(code **)(pcVar56 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53d18)" ( (binary_expression "pcVar56 + 0x53d18" identifier + number_literal) ))))) )) (argument_list "((*(char ***)&psVar43->field_0x1c)[uVar48])" ( (subscript_expression "(*(char ***)&psVar43->field_0x1c)[uVar48]" (parenthesized_expression "(*(char ***)&psVar43->field_0x1c)" ( (pointer_expression "*(char ***)&psVar43->field_0x1c" * (cast_expression "(char ***)&psVar43->field_0x1c" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&psVar43->field_0x1c" & (field_expression "psVar43->field_0x1c" identifier -> field_identifier)))) )) [ identifier ]) ))) ;) (expression_statement "uVar48 = uVar48 + 1;" (assignment_expression "uVar48 = uVar48 + 1" identifier = (binary_expression "uVar48 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar48 != uVar39)" ( (binary_expression "uVar48 != uVar39" identifier != identifier) )) ;) })) (expression_statement "psVar41 = (sqlite3 *)&pVStack_210;" (assignment_expression "psVar41 = (sqlite3 *)&pVStack_210" identifier = (cast_expression "(sqlite3 *)&pVStack_210" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pVStack_210" & identifier))) ;) (expression_statement "pVStack_210 = (Vdbe *)0x0;" (assignment_expression "pVStack_210 = (Vdbe *)0x0" identifier = (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n        iVar5 = *(int *)(pcVar56 + 0x5393c);\n        pVStack_210 = (Vdbe *)0x0;\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x3610);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar9 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            iVar46 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x3608,iVar5 + 0x53f4,iVar7,\n                       (*(char ***)&psVar43->field_0x1c)[iVar7]);\n            iVar7 = iVar46;\n          } while (iVar46 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar56 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar56 + 0x53974))(0);\n      }\n      else {\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x7714);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar5 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar7;\n            iVar7 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22);\n          } while (iVar7 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8);\n        }\n      }" if (parenthesized_expression "(*(char **)&psVar43->lastRowid == (char *)0x0)" ( (binary_expression "*(char **)&psVar43->lastRowid == (char *)0x0" (pointer_expression "*(char **)&psVar43->lastRowid" * (cast_expression "(char **)&psVar43->lastRowid" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar43->lastRowid" & (field_expression "psVar43->lastRowid" identifier -> field_identifier)))) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar5 = *(int *)(pcVar56 + 0x5393c);\n        pVStack_210 = (Vdbe *)0x0;\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x3610);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar9 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            iVar46 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x3608,iVar5 + 0x53f4,iVar7,\n                       (*(char ***)&psVar43->field_0x1c)[iVar7]);\n            iVar7 = iVar46;\n          } while (iVar46 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar56 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar56 + 0x53974))(0);\n      }" { (expression_statement "iVar5 = *(int *)(pcVar56 + 0x5393c);" (assignment_expression "iVar5 = *(int *)(pcVar56 + 0x5393c)" identifier = (pointer_expression "*(int *)(pcVar56 + 0x5393c)" * (cast_expression "(int *)(pcVar56 + 0x5393c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x5393c)" ( (binary_expression "pcVar56 + 0x5393c" identifier + number_literal) ))))) ;) (expression_statement "pVStack_210 = (Vdbe *)0x0;" (assignment_expression "pVStack_210 = (Vdbe *)0x0" identifier = (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);" (assignment_expression "pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4)" identifier = (cast_expression "(code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar56 + 0x53a58) + -0x70d4)" ( (binary_expression "*(int *)(pcVar56 + 0x53a58) + -0x70d4" (pointer_expression "*(int *)(pcVar56 + 0x53a58)" * (cast_expression "(int *)(pcVar56 + 0x53a58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53a58)" ( (binary_expression "pcVar56 + 0x53a58" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x3610);" (call_expression "(*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x3610)" (parenthesized_expression "(*pcVar51)" ( (pointer_expression "*pcVar51" * identifier) )) (argument_list "(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x3610)" ( (pointer_expression "&pVStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x3610" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (0 < (int)psVar43->mDbFlags) {\n          iVar9 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            iVar46 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x3608,iVar5 + 0x53f4,iVar7,\n                       (*(char ***)&psVar43->field_0x1c)[iVar7]);\n            iVar7 = iVar46;\n          } while (iVar46 < (int)psVar43->mDbFlags);\n        }" if (parenthesized_expression "(0 < (int)psVar43->mDbFlags)" ( (binary_expression "0 < (int)psVar43->mDbFlags" number_literal < (cast_expression "(int)psVar43->mDbFlags" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar43->mDbFlags" identifier -> field_identifier))) )) (compound_statement "{\n          iVar9 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            iVar46 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x3608,iVar5 + 0x53f4,iVar7,\n                       (*(char ***)&psVar43->field_0x1c)[iVar7]);\n            iVar7 = iVar46;\n          } while (iVar46 < (int)psVar43->mDbFlags);\n        }" { (expression_statement "iVar9 = *(int *)(pcVar56 + 0x53950);" (assignment_expression "iVar9 = *(int *)(pcVar56 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n            iVar46 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x3608,iVar5 + 0x53f4,iVar7,\n                       (*(char ***)&psVar43->field_0x1c)[iVar7]);\n            iVar7 = iVar46;\n          } while (iVar46 < (int)psVar43->mDbFlags);" do (compound_statement "{\n            iVar46 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x3608,iVar5 + 0x53f4,iVar7,\n                       (*(char ***)&psVar43->field_0x1c)[iVar7]);\n            iVar7 = iVar46;\n          }" { (expression_statement "iVar46 = iVar7 + 1;" (assignment_expression "iVar46 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x3608,iVar5 + 0x53f4,iVar7,\n                       (*(char ***)&psVar43->field_0x1c)[iVar7]);" (call_expression "(*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x3608,iVar5 + 0x53f4,iVar7,\n                       (*(char ***)&psVar43->field_0x1c)[iVar7])" (parenthesized_expression "(*pcVar51)" ( (pointer_expression "*pcVar51" * identifier) )) (argument_list "(&pVStack_218,psVar41,iVar9 + -0x3608,iVar5 + 0x53f4,iVar7,\n                       (*(char ***)&psVar43->field_0x1c)[iVar7])" ( (pointer_expression "&pVStack_218" & identifier) , identifier , (binary_expression "iVar9 + -0x3608" identifier + number_literal) , (binary_expression "iVar5 + 0x53f4" identifier + number_literal) , identifier , (subscript_expression "(*(char ***)&psVar43->field_0x1c)[iVar7]" (parenthesized_expression "(*(char ***)&psVar43->field_0x1c)" ( (pointer_expression "*(char ***)&psVar43->field_0x1c" * (cast_expression "(char ***)&psVar43->field_0x1c" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&psVar43->field_0x1c" & (field_expression "psVar43->field_0x1c" identifier -> field_identifier)))) )) [ identifier ]) ))) ;) (expression_statement "iVar7 = iVar46;" (assignment_expression "iVar7 = iVar46" identifier = identifier) ;) }) while (parenthesized_expression "(iVar46 < (int)psVar43->mDbFlags)" ( (binary_expression "iVar46 < (int)psVar43->mDbFlags" identifier < (cast_expression "(int)psVar43->mDbFlags" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar43->mDbFlags" identifier -> field_identifier))) )) ;) })) (if_statement "if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar56 + 0x53950) + -0x3594);\n        }" if (parenthesized_expression "(*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0)" ( (binary_expression "*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0" (pointer_expression "*(char **)((int)&psVar43->lastRowid + 4)" * (cast_expression "(char **)((int)&psVar43->lastRowid + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&psVar43->lastRowid + 4)" ( (binary_expression "(int)&psVar43->lastRowid + 4" (cast_expression "(int)&psVar43->lastRowid" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->lastRowid" & (field_expression "psVar43->lastRowid" identifier -> field_identifier))) + number_literal) )))) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar56 + 0x53950) + -0x3594);\n        }" { (expression_statement "(*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar56 + 0x53950) + -0x3594);" (call_expression "(*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar56 + 0x53950) + -0x3594)" (parenthesized_expression "(*pcVar51)" ( (pointer_expression "*pcVar51" * identifier) )) (argument_list "(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar56 + 0x53950) + -0x3594)" ( (pointer_expression "&pVStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x35f8" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x3594" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar56 + 0x53974))(0);" (call_expression "(**(code **)(pcVar56 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53974))" ( (pointer_expression "**(code **)(pcVar56 + 0x53974)" * (pointer_expression "*(code **)(pcVar56 + 0x53974)" * (cast_expression "(code **)(pcVar56 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53974)" ( (binary_expression "pcVar56 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) }) (else_clause "else {\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x7714);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar5 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar7;\n            iVar7 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22);\n          } while (iVar7 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8);\n        }\n      }" else (compound_statement "{\n        pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);\n        (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x7714);\n        if (0 < (int)psVar43->mDbFlags) {\n          iVar5 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar7;\n            iVar7 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22);\n          } while (iVar7 < (int)psVar43->mDbFlags);\n        }\n        if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8);\n        }\n      }" { (expression_statement "pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4);" (assignment_expression "pcVar51 = (code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4)" identifier = (cast_expression "(code *)(*(int *)(pcVar56 + 0x53a58) + -0x70d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar56 + 0x53a58) + -0x70d4)" ( (binary_expression "*(int *)(pcVar56 + 0x53a58) + -0x70d4" (pointer_expression "*(int *)(pcVar56 + 0x53a58)" * (cast_expression "(int *)(pcVar56 + 0x53a58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53a58)" ( (binary_expression "pcVar56 + 0x53a58" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x7714);" (call_expression "(*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x7714)" (parenthesized_expression "(*pcVar51)" ( (pointer_expression "*pcVar51" * identifier) )) (argument_list "(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x7714)" ( (pointer_expression "&pVStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x7714" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (0 < (int)psVar43->mDbFlags) {\n          iVar5 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar7;\n            iVar7 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22);\n          } while (iVar7 < (int)psVar43->mDbFlags);\n        }" if (parenthesized_expression "(0 < (int)psVar43->mDbFlags)" ( (binary_expression "0 < (int)psVar43->mDbFlags" number_literal < (cast_expression "(int)psVar43->mDbFlags" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar43->mDbFlags" identifier -> field_identifier))) )) (compound_statement "{\n          iVar5 = *(int *)(pcVar56 + 0x53950);\n          iVar7 = 0;\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar7;\n            iVar7 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22);\n          } while (iVar7 < (int)psVar43->mDbFlags);\n        }" { (expression_statement "iVar5 = *(int *)(pcVar56 + 0x53950);" (assignment_expression "iVar5 = *(int *)(pcVar56 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar7;\n            iVar7 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22);\n          } while (iVar7 < (int)psVar43->mDbFlags);" do (compound_statement "{\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar7;\n            iVar7 = iVar7 + 1;\n            (*pcVar51)(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22);\n          }" { (expression_statement "ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar7;" (assignment_expression "ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar7" identifier = (binary_expression "*(char ***)&psVar43->field_0x1c + iVar7" (pointer_expression "*(char ***)&psVar43->field_0x1c" * (cast_expression "(char ***)&psVar43->field_0x1c" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&psVar43->field_0x1c" & (field_expression "psVar43->field_0x1c" identifier -> field_identifier)))) + identifier)) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar51)(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22);" (call_expression "(*pcVar51)(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22)" (parenthesized_expression "(*pcVar51)" ( (pointer_expression "*pcVar51" * identifier) )) (argument_list "(&pVStack_218,psVar41,iVar5 + -0x35f0,*ppcVar22)" ( (pointer_expression "&pVStack_218" & identifier) , identifier , (binary_expression "iVar5 + -0x35f0" identifier + number_literal) , (pointer_expression "*ppcVar22" * identifier) ))) ;) }) while (parenthesized_expression "(iVar7 < (int)psVar43->mDbFlags)" ( (binary_expression "iVar7 < (int)psVar43->mDbFlags" identifier < (cast_expression "(int)psVar43->mDbFlags" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar43->mDbFlags" identifier -> field_identifier))) )) ;) })) (if_statement "if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8);\n        }" if (parenthesized_expression "(*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0)" ( (binary_expression "*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0" (pointer_expression "*(char **)((int)&psVar43->lastRowid + 4)" * (cast_expression "(char **)((int)&psVar43->lastRowid + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&psVar43->lastRowid + 4)" ( (binary_expression "(int)&psVar43->lastRowid + 4" (cast_expression "(int)&psVar43->lastRowid" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->lastRowid" & (field_expression "psVar43->lastRowid" identifier -> field_identifier))) + number_literal) )))) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8);\n        }" { (expression_statement "(*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8);" (call_expression "(*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8)" (parenthesized_expression "(*pcVar51)" ( (pointer_expression "*pcVar51" * identifier) )) (argument_list "(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35f8)" ( (pointer_expression "&pVStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x35f8" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) ))) ;) })) }))) (expression_statement "in_stack_fffffd68 = *(sqlite3_vtab ***)&psVar43->lastRowid;" (assignment_expression "in_stack_fffffd68 = *(sqlite3_vtab ***)&psVar43->lastRowid" identifier = (pointer_expression "*(sqlite3_vtab ***)&psVar43->lastRowid" * (cast_expression "(sqlite3_vtab ***)&psVar43->lastRowid" ( (type_descriptor "sqlite3_vtab ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&psVar43->lastRowid" & (field_expression "psVar43->lastRowid" identifier -> field_identifier))))) ;) (expression_statement "argv = (sqlite3 *)psVar43->aDb;" (assignment_expression "argv = (sqlite3 *)psVar43->aDb" identifier = (cast_expression "(sqlite3 *)psVar43->aDb" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->aDb" identifier -> field_identifier))) ;) (if_statement "if (in_stack_fffffd68 == (sqlite3_vtab **)0x0) {\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x53950) + -14000);\n      }\n      else {\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x5393c) + 0x53f4);\n      }" if (parenthesized_expression "(in_stack_fffffd68 == (sqlite3_vtab **)0x0)" ( (binary_expression "in_stack_fffffd68 == (sqlite3_vtab **)0x0" identifier == (cast_expression "(sqlite3_vtab **)0x0" ( (type_descriptor "sqlite3_vtab **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x53950) + -14000);\n      }" { (expression_statement "in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;" (assignment_expression "in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb" identifier = (cast_expression "(sqlite3_vtab **)psVar43->nDb" ( (type_descriptor "sqlite3_vtab **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "psVar43->nDb" identifier -> field_identifier))) ;) (expression_statement "in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x53950) + -14000);" (assignment_expression "in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x53950) + -14000)" identifier = (cast_expression "(char **)(*(int *)(pcVar56 + 0x53950) + -14000)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar56 + 0x53950) + -14000)" ( (binary_expression "*(int *)(pcVar56 + 0x53950) + -14000" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x5393c) + 0x53f4);\n      }" else (compound_statement "{\n        in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x5393c) + 0x53f4);\n      }" { (expression_statement "in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x5393c) + 0x53f4);" (assignment_expression "in_stack_fffffd6c = (char **)(*(int *)(pcVar56 + 0x5393c) + 0x53f4)" identifier = (cast_expression "(char **)(*(int *)(pcVar56 + 0x5393c) + 0x53f4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar56 + 0x5393c) + 0x53f4)" ( (binary_expression "*(int *)(pcVar56 + 0x5393c) + 0x53f4" (pointer_expression "*(int *)(pcVar56 + 0x5393c)" * (cast_expression "(int *)(pcVar56 + 0x5393c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x5393c)" ( (binary_expression "pcVar56 + 0x5393c" identifier + number_literal) )))) + number_literal) )))) ;) }))) (expression_statement "(*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35e4);" (call_expression "(*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35e4)" (parenthesized_expression "(*pcVar51)" ( (pointer_expression "*pcVar51" * identifier) )) (argument_list "(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x35e4)" ( (pointer_expression "&pVStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x35e4" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "psVar43->pRollbackArg = pVStack_210;" (assignment_expression "psVar43->pRollbackArg = pVStack_210" (field_expression "psVar43->pRollbackArg" identifier -> field_identifier) = identifier) ;) (expression_statement "iVar5 = *(int *)(pcVar56 + 0x5393c);" (assignment_expression "iVar5 = *(int *)(pcVar56 + 0x5393c)" identifier = (pointer_expression "*(int *)(pcVar56 + 0x5393c)" * (cast_expression "(int *)(pcVar56 + 0x5393c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x5393c)" ( (binary_expression "pcVar56 + 0x5393c" identifier + number_literal) ))))) ;) (expression_statement "pVStack_210 = (Vdbe *)0x0;" (assignment_expression "pVStack_210 = (Vdbe *)0x0" identifier = (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar31 = psVar41;" (assignment_expression "psVar31 = psVar41" identifier = identifier) ;) (expression_statement "(*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x4774);" (call_expression "(*pcVar51)(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x4774)" (parenthesized_expression "(*pcVar51)" ( (pointer_expression "*pcVar51" * identifier) )) (argument_list "(&pVStack_218,psVar41,*(int *)(pcVar56 + 0x53950) + -0x4774)" ( (pointer_expression "&pVStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x4774" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (0 < (int)psVar43->mDbFlags) {\n        iVar9 = *(int *)(pcVar56 + 0x53950);\n        iVar7 = 0;\n        do {\n          psVar31 = psVar41;\n          argv = (sqlite3 *)(iVar5 + 0x53f4);\n          (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x35cc);\n          iVar7 = iVar7 + 1;\n        } while (iVar7 < (int)psVar43->mDbFlags);\n      }" if (parenthesized_expression "(0 < (int)psVar43->mDbFlags)" ( (binary_expression "0 < (int)psVar43->mDbFlags" number_literal < (cast_expression "(int)psVar43->mDbFlags" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar43->mDbFlags" identifier -> field_identifier))) )) (compound_statement "{\n        iVar9 = *(int *)(pcVar56 + 0x53950);\n        iVar7 = 0;\n        do {\n          psVar31 = psVar41;\n          argv = (sqlite3 *)(iVar5 + 0x53f4);\n          (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x35cc);\n          iVar7 = iVar7 + 1;\n        } while (iVar7 < (int)psVar43->mDbFlags);\n      }" { (expression_statement "iVar9 = *(int *)(pcVar56 + 0x53950);" (assignment_expression "iVar9 = *(int *)(pcVar56 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n          psVar31 = psVar41;\n          argv = (sqlite3 *)(iVar5 + 0x53f4);\n          (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x35cc);\n          iVar7 = iVar7 + 1;\n        } while (iVar7 < (int)psVar43->mDbFlags);" do (compound_statement "{\n          psVar31 = psVar41;\n          argv = (sqlite3 *)(iVar5 + 0x53f4);\n          (*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x35cc);\n          iVar7 = iVar7 + 1;\n        }" { (expression_statement "psVar31 = psVar41;" (assignment_expression "psVar31 = psVar41" identifier = identifier) ;) (expression_statement "argv = (sqlite3 *)(iVar5 + 0x53f4);" (assignment_expression "argv = (sqlite3 *)(iVar5 + 0x53f4)" identifier = (cast_expression "(sqlite3 *)(iVar5 + 0x53f4)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x53f4)" ( (binary_expression "iVar5 + 0x53f4" identifier + number_literal) )))) ;) (expression_statement "(*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x35cc);" (call_expression "(*pcVar51)(&pVStack_218,psVar41,iVar9 + -0x35cc)" (parenthesized_expression "(*pcVar51)" ( (pointer_expression "*pcVar51" * identifier) )) (argument_list "(&pVStack_218,psVar41,iVar9 + -0x35cc)" ( (pointer_expression "&pVStack_218" & identifier) , identifier , (binary_expression "iVar9 + -0x35cc" identifier + number_literal) ))) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 < (int)psVar43->mDbFlags)" ( (binary_expression "iVar7 < (int)psVar43->mDbFlags" identifier < (cast_expression "(int)psVar43->mDbFlags" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar43->mDbFlags" identifier -> field_identifier))) )) ;) })) (expression_statement "psVar44 = *(sqlite3 **)(pcVar56 + 0x53950);" (assignment_expression "psVar44 = *(sqlite3 **)(pcVar56 + 0x53950)" identifier = (pointer_expression "*(sqlite3 **)(pcVar56 + 0x53950)" * (cast_expression "(sqlite3 **)(pcVar56 + 0x53950)" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) ))))) ;) (if_statement "if (*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0) {\n        psVar44 = (sqlite3 *)&psVar44[-0x1b].openFlags;\n        psVar31 = psVar41;\n        (*pcVar51)(&pVStack_218);\n      }" if (parenthesized_expression "(*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0)" ( (binary_expression "*(char **)((int)&psVar43->lastRowid + 4) != (char *)0x0" (pointer_expression "*(char **)((int)&psVar43->lastRowid + 4)" * (cast_expression "(char **)((int)&psVar43->lastRowid + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&psVar43->lastRowid + 4)" ( (binary_expression "(int)&psVar43->lastRowid + 4" (cast_expression "(int)&psVar43->lastRowid" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->lastRowid" & (field_expression "psVar43->lastRowid" identifier -> field_identifier))) + number_literal) )))) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        psVar44 = (sqlite3 *)&psVar44[-0x1b].openFlags;\n        psVar31 = psVar41;\n        (*pcVar51)(&pVStack_218);\n      }" { (expression_statement "psVar44 = (sqlite3 *)&psVar44[-0x1b].openFlags;" (assignment_expression "psVar44 = (sqlite3 *)&psVar44[-0x1b].openFlags" identifier = (cast_expression "(sqlite3 *)&psVar44[-0x1b].openFlags" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar44[-0x1b].openFlags" & (field_expression "psVar44[-0x1b].openFlags" (subscript_expression "psVar44[-0x1b]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "psVar31 = psVar41;" (assignment_expression "psVar31 = psVar41" identifier = identifier) ;) (expression_statement "(*pcVar51)(&pVStack_218);" (call_expression "(*pcVar51)(&pVStack_218)" (parenthesized_expression "(*pcVar51)" ( (pointer_expression "*pcVar51" * identifier) )) (argument_list "(&pVStack_218)" ( (pointer_expression "&pVStack_218" & identifier) ))) ;) })) (expression_statement "(**(code **)(pcVar56 + 0x53974))(0);" (call_expression "(**(code **)(pcVar56 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53974))" ( (pointer_expression "**(code **)(pcVar56 + 0x53974)" * (pointer_expression "*(code **)(pcVar56 + 0x53974)" * (cast_expression "(code **)(pcVar56 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53974)" ( (binary_expression "pcVar56 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "psVar43->xRollbackCallback = (_func_void_void_ptr *)pVStack_210;" (assignment_expression "psVar43->xRollbackCallback = (_func_void_void_ptr *)pVStack_210" (field_expression "psVar43->xRollbackCallback" identifier -> field_identifier) = (cast_expression "(_func_void_void_ptr *)pVStack_210" ( (type_descriptor "_func_void_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pVStack_218 != (Vdbe *)0x0) goto LAB_00107f4c;" if (parenthesized_expression "(pVStack_218 != (Vdbe *)0x0)" ( (binary_expression "pVStack_218 != (Vdbe *)0x0" identifier != (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;)) (if_statement "if (psStack_1a0 == (sqlite3 *)0x0) {\n        if (cVar2 != '4') {\n          *(u8 *)((int)&psVar43->xUpdateCallback + 1) = '\x02';\n        }\n      }\n      else {\n        pVStack_210 = (Vdbe *)0x0;\n        psVar20 = (sqlite3 *)psVar43->mutex;\n        if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n          pcVar47 = *(char **)((int)&psVar43->lastRowid + 4);\n          ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                        (*(int *)(pcVar56 + 0x53950) + -0x35c0);\n          if (ppcVar22 == (char **)0x0) {\nLAB_00109454:\n            ppcVar22 = (char **)0x0;\n            pVStack_210 = (Vdbe *)&DAT_00000007;\n          }\n          else {\n            iVar5 = *(int *)(pcVar56 + 0x53950);\n            if (0 < (int)psVar43->mDbFlags) {\n              iVar7 = 0;\n              do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);\n            }\n            if ((pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0))\n            goto LAB_00109454;\n          }\n          in_stack_fffffd6c = ppcVar22;\n          fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x358c),\n                     psVar43->aDb,(char *)psVar43->nDb);\n          (**(code **)(pcVar56 + 0x53974))(ppcVar22);\n        }\n        fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x3568),\n                   psVar43->aDb,(char *)psVar43->nDb);\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        argv = (sqlite3 *)psVar43->aDb;\n        psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3520);\n        psVar31 = psVar20;\n        fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 2) != '\0') {\n          in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n          argv = (sqlite3 *)psVar43->aDb;\n          psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3484);\n          fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n          psVar31 = psVar20;\n        }\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 1) != '\0') {\n          psVar31 = psVar43;\n          sqlite3Fts3CreateStatTable((int *)psVar41,(Fts3Table *)psVar43);\n        }\n        pVStack_218 = pVStack_210;\n        if (pVStack_210 != (Vdbe *)0x0) {\n          psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n          goto LAB_00107f4c;\n        }\n      }" if (parenthesized_expression "(psStack_1a0 == (sqlite3 *)0x0)" ( (binary_expression "psStack_1a0 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (cVar2 != '4') {\n          *(u8 *)((int)&psVar43->xUpdateCallback + 1) = '\x02';\n        }\n      }" { (if_statement "if (cVar2 != '4') {\n          *(u8 *)((int)&psVar43->xUpdateCallback + 1) = '\x02';\n        }" if (parenthesized_expression "(cVar2 != '4')" ( (binary_expression "cVar2 != '4'" identifier != (char_literal "'4'" ' character ')) )) (compound_statement "{\n          *(u8 *)((int)&psVar43->xUpdateCallback + 1) = '\x02';\n        }" { (expression_statement "*(u8 *)((int)&psVar43->xUpdateCallback + 1) = '\x02';" (assignment_expression "*(u8 *)((int)&psVar43->xUpdateCallback + 1) = '\x02'" (pointer_expression "*(u8 *)((int)&psVar43->xUpdateCallback + 1)" * (cast_expression "(u8 *)((int)&psVar43->xUpdateCallback + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar43->xUpdateCallback + 1)" ( (binary_expression "(int)&psVar43->xUpdateCallback + 1" (cast_expression "(int)&psVar43->xUpdateCallback" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->xUpdateCallback" & (field_expression "psVar43->xUpdateCallback" identifier -> field_identifier))) + number_literal) )))) = (char_literal "'\x02'" ' escape_sequence ')) ;) })) }) (else_clause "else {\n        pVStack_210 = (Vdbe *)0x0;\n        psVar20 = (sqlite3 *)psVar43->mutex;\n        if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n          pcVar47 = *(char **)((int)&psVar43->lastRowid + 4);\n          ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                        (*(int *)(pcVar56 + 0x53950) + -0x35c0);\n          if (ppcVar22 == (char **)0x0) {\nLAB_00109454:\n            ppcVar22 = (char **)0x0;\n            pVStack_210 = (Vdbe *)&DAT_00000007;\n          }\n          else {\n            iVar5 = *(int *)(pcVar56 + 0x53950);\n            if (0 < (int)psVar43->mDbFlags) {\n              iVar7 = 0;\n              do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);\n            }\n            if ((pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0))\n            goto LAB_00109454;\n          }\n          in_stack_fffffd6c = ppcVar22;\n          fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x358c),\n                     psVar43->aDb,(char *)psVar43->nDb);\n          (**(code **)(pcVar56 + 0x53974))(ppcVar22);\n        }\n        fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x3568),\n                   psVar43->aDb,(char *)psVar43->nDb);\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        argv = (sqlite3 *)psVar43->aDb;\n        psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3520);\n        psVar31 = psVar20;\n        fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 2) != '\0') {\n          in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n          argv = (sqlite3 *)psVar43->aDb;\n          psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3484);\n          fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n          psVar31 = psVar20;\n        }\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 1) != '\0') {\n          psVar31 = psVar43;\n          sqlite3Fts3CreateStatTable((int *)psVar41,(Fts3Table *)psVar43);\n        }\n        pVStack_218 = pVStack_210;\n        if (pVStack_210 != (Vdbe *)0x0) {\n          psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n          goto LAB_00107f4c;\n        }\n      }" else (compound_statement "{\n        pVStack_210 = (Vdbe *)0x0;\n        psVar20 = (sqlite3 *)psVar43->mutex;\n        if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n          pcVar47 = *(char **)((int)&psVar43->lastRowid + 4);\n          ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                        (*(int *)(pcVar56 + 0x53950) + -0x35c0);\n          if (ppcVar22 == (char **)0x0) {\nLAB_00109454:\n            ppcVar22 = (char **)0x0;\n            pVStack_210 = (Vdbe *)&DAT_00000007;\n          }\n          else {\n            iVar5 = *(int *)(pcVar56 + 0x53950);\n            if (0 < (int)psVar43->mDbFlags) {\n              iVar7 = 0;\n              do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);\n            }\n            if ((pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0))\n            goto LAB_00109454;\n          }\n          in_stack_fffffd6c = ppcVar22;\n          fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x358c),\n                     psVar43->aDb,(char *)psVar43->nDb);\n          (**(code **)(pcVar56 + 0x53974))(ppcVar22);\n        }\n        fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x3568),\n                   psVar43->aDb,(char *)psVar43->nDb);\n        in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n        argv = (sqlite3 *)psVar43->aDb;\n        psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3520);\n        psVar31 = psVar20;\n        fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 2) != '\0') {\n          in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n          argv = (sqlite3 *)psVar43->aDb;\n          psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3484);\n          fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n          psVar31 = psVar20;\n        }\n        if (*(u8 *)((int)&psVar43->xUpdateCallback + 1) != '\0') {\n          psVar31 = psVar43;\n          sqlite3Fts3CreateStatTable((int *)psVar41,(Fts3Table *)psVar43);\n        }\n        pVStack_218 = pVStack_210;\n        if (pVStack_210 != (Vdbe *)0x0) {\n          psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n          goto LAB_00107f4c;\n        }\n      }" { (expression_statement "pVStack_210 = (Vdbe *)0x0;" (assignment_expression "pVStack_210 = (Vdbe *)0x0" identifier = (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar20 = (sqlite3 *)psVar43->mutex;" (assignment_expression "psVar20 = (sqlite3 *)psVar43->mutex" identifier = (cast_expression "(sqlite3 *)psVar43->mutex" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->mutex" identifier -> field_identifier))) ;) (if_statement "if (*(char **)&psVar43->lastRowid == (char *)0x0) {\n          pcVar47 = *(char **)((int)&psVar43->lastRowid + 4);\n          ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                        (*(int *)(pcVar56 + 0x53950) + -0x35c0);\n          if (ppcVar22 == (char **)0x0) {\nLAB_00109454:\n            ppcVar22 = (char **)0x0;\n            pVStack_210 = (Vdbe *)&DAT_00000007;\n          }\n          else {\n            iVar5 = *(int *)(pcVar56 + 0x53950);\n            if (0 < (int)psVar43->mDbFlags) {\n              iVar7 = 0;\n              do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);\n            }\n            if ((pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0))\n            goto LAB_00109454;\n          }\n          in_stack_fffffd6c = ppcVar22;\n          fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x358c),\n                     psVar43->aDb,(char *)psVar43->nDb);\n          (**(code **)(pcVar56 + 0x53974))(ppcVar22);\n        }" if (parenthesized_expression "(*(char **)&psVar43->lastRowid == (char *)0x0)" ( (binary_expression "*(char **)&psVar43->lastRowid == (char *)0x0" (pointer_expression "*(char **)&psVar43->lastRowid" * (cast_expression "(char **)&psVar43->lastRowid" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar43->lastRowid" & (field_expression "psVar43->lastRowid" identifier -> field_identifier)))) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar47 = *(char **)((int)&psVar43->lastRowid + 4);\n          ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                        (*(int *)(pcVar56 + 0x53950) + -0x35c0);\n          if (ppcVar22 == (char **)0x0) {\nLAB_00109454:\n            ppcVar22 = (char **)0x0;\n            pVStack_210 = (Vdbe *)&DAT_00000007;\n          }\n          else {\n            iVar5 = *(int *)(pcVar56 + 0x53950);\n            if (0 < (int)psVar43->mDbFlags) {\n              iVar7 = 0;\n              do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);\n            }\n            if ((pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0))\n            goto LAB_00109454;\n          }\n          in_stack_fffffd6c = ppcVar22;\n          fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x358c),\n                     psVar43->aDb,(char *)psVar43->nDb);\n          (**(code **)(pcVar56 + 0x53974))(ppcVar22);\n        }" { (expression_statement "pcVar47 = *(char **)((int)&psVar43->lastRowid + 4);" (assignment_expression "pcVar47 = *(char **)((int)&psVar43->lastRowid + 4)" identifier = (pointer_expression "*(char **)((int)&psVar43->lastRowid + 4)" * (cast_expression "(char **)((int)&psVar43->lastRowid + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&psVar43->lastRowid + 4)" ( (binary_expression "(int)&psVar43->lastRowid + 4" (cast_expression "(int)&psVar43->lastRowid" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->lastRowid" & (field_expression "psVar43->lastRowid" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                        (*(int *)(pcVar56 + 0x53950) + -0x35c0);" (assignment_expression "ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                        (*(int *)(pcVar56 + 0x53950) + -0x35c0)" identifier = (cast_expression "(char **)(**(code **)(pcVar56 + 0x5397c))\n                                        (*(int *)(pcVar56 + 0x53950) + -0x35c0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(pcVar56 + 0x5397c))\n                                        (*(int *)(pcVar56 + 0x53950) + -0x35c0)" (parenthesized_expression "(**(code **)(pcVar56 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar56 + 0x5397c)" * (pointer_expression "*(code **)(pcVar56 + 0x5397c)" * (cast_expression "(code **)(pcVar56 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x5397c)" ( (binary_expression "pcVar56 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar56 + 0x53950) + -0x35c0)" ( (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x35c0" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (ppcVar22 == (char **)0x0) {\nLAB_00109454:\n            ppcVar22 = (char **)0x0;\n            pVStack_210 = (Vdbe *)&DAT_00000007;\n          }\n          else {\n            iVar5 = *(int *)(pcVar56 + 0x53950);\n            if (0 < (int)psVar43->mDbFlags) {\n              iVar7 = 0;\n              do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);\n            }\n            if ((pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0))\n            goto LAB_00109454;\n          }" if (parenthesized_expression "(ppcVar22 == (char **)0x0)" ( (binary_expression "ppcVar22 == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_00109454:\n            ppcVar22 = (char **)0x0;\n            pVStack_210 = (Vdbe *)&DAT_00000007;\n          }" { (labeled_statement "LAB_00109454:\n            ppcVar22 = (char **)0x0;" statement_identifier : (expression_statement "ppcVar22 = (char **)0x0;" (assignment_expression "ppcVar22 = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "pVStack_210 = (Vdbe *)&DAT_00000007;" (assignment_expression "pVStack_210 = (Vdbe *)&DAT_00000007" identifier = (cast_expression "(Vdbe *)&DAT_00000007" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }) (else_clause "else {\n            iVar5 = *(int *)(pcVar56 + 0x53950);\n            if (0 < (int)psVar43->mDbFlags) {\n              iVar7 = 0;\n              do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);\n            }\n            if ((pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0))\n            goto LAB_00109454;\n          }" else (compound_statement "{\n            iVar5 = *(int *)(pcVar56 + 0x53950);\n            if (0 < (int)psVar43->mDbFlags) {\n              iVar7 = 0;\n              do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);\n            }\n            if ((pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0))\n            goto LAB_00109454;\n          }" { (expression_statement "iVar5 = *(int *)(pcVar56 + 0x53950);" (assignment_expression "iVar5 = *(int *)(pcVar56 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) ))))) ;) (if_statement "if (0 < (int)psVar43->mDbFlags) {\n              iVar7 = 0;\n              do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);\n            }" if (parenthesized_expression "(0 < (int)psVar43->mDbFlags)" ( (binary_expression "0 < (int)psVar43->mDbFlags" number_literal < (cast_expression "(int)psVar43->mDbFlags" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar43->mDbFlags" identifier -> field_identifier))) )) (compound_statement "{\n              iVar7 = 0;\n              do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);\n            }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              } while (iVar9 < (int)psVar43->mDbFlags);" do (compound_statement "{\n                iVar9 = iVar7 + 1;\n                ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);\n                if (ppcVar22 == (char **)0x0) goto LAB_00109454;\n                iVar7 = iVar9;\n              }" { (expression_statement "iVar9 = iVar7 + 1;" (assignment_expression "iVar9 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7]);" (assignment_expression "ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7])" identifier = (cast_expression "(char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7])" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(pcVar56 + 0x5397c))\n                                              (iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7])" (parenthesized_expression "(**(code **)(pcVar56 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar56 + 0x5397c)" * (pointer_expression "*(code **)(pcVar56 + 0x5397c)" * (cast_expression "(code **)(pcVar56 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x5397c)" ( (binary_expression "pcVar56 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(iVar5 + -0x35a4,ppcVar22,iVar7,\n                                               (*(char ***)&psVar43->field_0x1c)[iVar7])" ( (binary_expression "iVar5 + -0x35a4" identifier + number_literal) , identifier , identifier , (subscript_expression "(*(char ***)&psVar43->field_0x1c)[iVar7]" (parenthesized_expression "(*(char ***)&psVar43->field_0x1c)" ( (pointer_expression "*(char ***)&psVar43->field_0x1c" * (cast_expression "(char ***)&psVar43->field_0x1c" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&psVar43->field_0x1c" & (field_expression "psVar43->field_0x1c" identifier -> field_identifier)))) )) [ identifier ]) ))))) ;) (if_statement "if (ppcVar22 == (char **)0x0) goto LAB_00109454;" if (parenthesized_expression "(ppcVar22 == (char **)0x0)" ( (binary_expression "ppcVar22 == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_00109454;" goto statement_identifier ;)) (expression_statement "iVar7 = iVar9;" (assignment_expression "iVar7 = iVar9" identifier = identifier) ;) }) while (parenthesized_expression "(iVar9 < (int)psVar43->mDbFlags)" ( (binary_expression "iVar9 < (int)psVar43->mDbFlags" identifier < (cast_expression "(int)psVar43->mDbFlags" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar43->mDbFlags" identifier -> field_identifier))) )) ;) })) (if_statement "if ((pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0))\n            goto LAB_00109454;" if (parenthesized_expression "((pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0))" ( (binary_expression "(pcVar47 != (char *)0x0) &&\n               (ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0)" (parenthesized_expression "(pcVar47 != (char *)0x0)" ( (binary_expression "pcVar47 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0)" ( (comma_expression "ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47), ppcVar22 == (char **)0x0" (assignment_expression "ppcVar22 = (char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47)" identifier = (cast_expression "(char **)(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(pcVar56 + 0x5397c))\n                                              (*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47)" (parenthesized_expression "(**(code **)(pcVar56 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar56 + 0x5397c)" * (pointer_expression "*(code **)(pcVar56 + 0x5397c)" * (cast_expression "(code **)(pcVar56 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x5397c)" ( (binary_expression "pcVar56 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar56 + 0x53950) + -0x3598,ppcVar22,\n                                               pcVar47)" ( (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x3598" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) , (binary_expression "ppcVar22 == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ))) )) (goto_statement "goto LAB_00109454;" goto statement_identifier ;)) }))) (expression_statement "in_stack_fffffd6c = ppcVar22;" (assignment_expression "in_stack_fffffd6c = ppcVar22" identifier = identifier) ;) (expression_statement "fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x358c),\n                     psVar43->aDb,(char *)psVar43->nDb);" (call_expression "fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x358c),\n                     psVar43->aDb,(char *)psVar43->nDb)" identifier (argument_list "((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x358c),\n                     psVar43->aDb,(char *)psVar43->nDb)" ( (cast_expression "(int *)psVar41" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(char *)(*(int *)(pcVar56 + 0x53950) + -0x358c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar56 + 0x53950) + -0x358c)" ( (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x358c" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) ))) , (field_expression "psVar43->aDb" identifier -> field_identifier) , (cast_expression "(char *)psVar43->nDb" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->nDb" identifier -> field_identifier)) ))) ;) (expression_statement "(**(code **)(pcVar56 + 0x53974))(ppcVar22);" (call_expression "(**(code **)(pcVar56 + 0x53974))(ppcVar22)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53974))" ( (pointer_expression "**(code **)(pcVar56 + 0x53974)" * (pointer_expression "*(code **)(pcVar56 + 0x53974)" * (cast_expression "(code **)(pcVar56 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53974)" ( (binary_expression "pcVar56 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(ppcVar22)" ( identifier ))) ;) })) (expression_statement "fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x3568),\n                   psVar43->aDb,(char *)psVar43->nDb);" (call_expression "fts3DbExec((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x3568),\n                   psVar43->aDb,(char *)psVar43->nDb)" identifier (argument_list "((int *)psVar41,psVar20,(char *)(*(int *)(pcVar56 + 0x53950) + -0x3568),\n                   psVar43->aDb,(char *)psVar43->nDb)" ( (cast_expression "(int *)psVar41" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(char *)(*(int *)(pcVar56 + 0x53950) + -0x3568)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar56 + 0x53950) + -0x3568)" ( (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x3568" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) ))) , (field_expression "psVar43->aDb" identifier -> field_identifier) , (cast_expression "(char *)psVar43->nDb" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->nDb" identifier -> field_identifier)) ))) ;) (expression_statement "in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;" (assignment_expression "in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb" identifier = (cast_expression "(sqlite3_vtab **)psVar43->nDb" ( (type_descriptor "sqlite3_vtab **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "psVar43->nDb" identifier -> field_identifier))) ;) (expression_statement "argv = (sqlite3 *)psVar43->aDb;" (assignment_expression "argv = (sqlite3 *)psVar43->aDb" identifier = (cast_expression "(sqlite3 *)psVar43->aDb" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->aDb" identifier -> field_identifier))) ;) (expression_statement "psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3520);" (assignment_expression "psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3520)" identifier = (cast_expression "(sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3520)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar56 + 0x53950) + -0x3520)" ( (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x3520" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "psVar31 = psVar20;" (assignment_expression "psVar31 = psVar20" identifier = identifier) ;) (expression_statement "fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);" (call_expression "fts3DbExec((int *)psVar41,psVar20,(char *)psVar44)" identifier (argument_list "((int *)psVar41,psVar20,(char *)psVar44)" ( (cast_expression "(int *)psVar41" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(char *)psVar44" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if (*(u8 *)((int)&psVar43->xUpdateCallback + 2) != '\0') {\n          in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n          argv = (sqlite3 *)psVar43->aDb;\n          psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3484);\n          fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n          psVar31 = psVar20;\n        }" if (parenthesized_expression "(*(u8 *)((int)&psVar43->xUpdateCallback + 2) != '\0')" ( (binary_expression "*(u8 *)((int)&psVar43->xUpdateCallback + 2) != '\0'" (pointer_expression "*(u8 *)((int)&psVar43->xUpdateCallback + 2)" * (cast_expression "(u8 *)((int)&psVar43->xUpdateCallback + 2)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar43->xUpdateCallback + 2)" ( (binary_expression "(int)&psVar43->xUpdateCallback + 2" (cast_expression "(int)&psVar43->xUpdateCallback" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->xUpdateCallback" & (field_expression "psVar43->xUpdateCallback" identifier -> field_identifier))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;\n          argv = (sqlite3 *)psVar43->aDb;\n          psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3484);\n          fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);\n          psVar31 = psVar20;\n        }" { (expression_statement "in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb;" (assignment_expression "in_stack_fffffd68 = (sqlite3_vtab **)psVar43->nDb" identifier = (cast_expression "(sqlite3_vtab **)psVar43->nDb" ( (type_descriptor "sqlite3_vtab **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "psVar43->nDb" identifier -> field_identifier))) ;) (expression_statement "argv = (sqlite3 *)psVar43->aDb;" (assignment_expression "argv = (sqlite3 *)psVar43->aDb" identifier = (cast_expression "(sqlite3 *)psVar43->aDb" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->aDb" identifier -> field_identifier))) ;) (expression_statement "psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3484);" (assignment_expression "psVar44 = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3484)" identifier = (cast_expression "(sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x3484)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar56 + 0x53950) + -0x3484)" ( (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x3484" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "fts3DbExec((int *)psVar41,psVar20,(char *)psVar44);" (call_expression "fts3DbExec((int *)psVar41,psVar20,(char *)psVar44)" identifier (argument_list "((int *)psVar41,psVar20,(char *)psVar44)" ( (cast_expression "(int *)psVar41" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(char *)psVar44" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "psVar31 = psVar20;" (assignment_expression "psVar31 = psVar20" identifier = identifier) ;) })) (if_statement "if (*(u8 *)((int)&psVar43->xUpdateCallback + 1) != '\0') {\n          psVar31 = psVar43;\n          sqlite3Fts3CreateStatTable((int *)psVar41,(Fts3Table *)psVar43);\n        }" if (parenthesized_expression "(*(u8 *)((int)&psVar43->xUpdateCallback + 1) != '\0')" ( (binary_expression "*(u8 *)((int)&psVar43->xUpdateCallback + 1) != '\0'" (pointer_expression "*(u8 *)((int)&psVar43->xUpdateCallback + 1)" * (cast_expression "(u8 *)((int)&psVar43->xUpdateCallback + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar43->xUpdateCallback + 1)" ( (binary_expression "(int)&psVar43->xUpdateCallback + 1" (cast_expression "(int)&psVar43->xUpdateCallback" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->xUpdateCallback" & (field_expression "psVar43->xUpdateCallback" identifier -> field_identifier))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          psVar31 = psVar43;\n          sqlite3Fts3CreateStatTable((int *)psVar41,(Fts3Table *)psVar43);\n        }" { (expression_statement "psVar31 = psVar43;" (assignment_expression "psVar31 = psVar43" identifier = identifier) ;) (expression_statement "sqlite3Fts3CreateStatTable((int *)psVar41,(Fts3Table *)psVar43);" (call_expression "sqlite3Fts3CreateStatTable((int *)psVar41,(Fts3Table *)psVar43)" identifier (argument_list "((int *)psVar41,(Fts3Table *)psVar43)" ( (cast_expression "(int *)psVar41" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Fts3Table *)psVar43" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) (expression_statement "pVStack_218 = pVStack_210;" (assignment_expression "pVStack_218 = pVStack_210" identifier = identifier) ;) (if_statement "if (pVStack_210 != (Vdbe *)0x0) {\n          psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n          goto LAB_00107f4c;\n        }" if (parenthesized_expression "(pVStack_210 != (Vdbe *)0x0)" ( (binary_expression "pVStack_210 != (Vdbe *)0x0" identifier != (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n          goto LAB_00107f4c;\n        }" { (expression_statement "psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;" (assignment_expression "psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23" (field_expression "psVar43->pUpdateArg" identifier -> field_identifier) = (binary_expression "psVar43->xPreUpdateCallback + -0x23" (field_expression "psVar43->xPreUpdateCallback" identifier -> field_identifier) + number_literal)) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) }))) (expression_statement "psVar31 = (sqlite3 *)psVar43->aDb;" (assignment_expression "psVar31 = (sqlite3 *)psVar43->aDb" identifier = (cast_expression "(sqlite3 *)psVar43->aDb" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->aDb" identifier -> field_identifier))) ;) (expression_statement "psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x33d4);" (assignment_expression "psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x33d4)" identifier = (cast_expression "(sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x33d4)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x33d4)" (parenthesized_expression "(**(code **)(pcVar56 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar56 + 0x5397c)" * (pointer_expression "*(code **)(pcVar56 + 0x5397c)" * (cast_expression "(code **)(pcVar56 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x5397c)" ( (binary_expression "pcVar56 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar56 + 0x53950) + -0x33d4)" ( (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x33d4" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (psVar20 == (sqlite3 *)0x0) {\n        (**(code **)(pcVar56 + 0x53974))(0);\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        goto LAB_00107f4c;\n      }" if (parenthesized_expression "(psVar20 == (sqlite3 *)0x0)" ( (binary_expression "psVar20 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(pcVar56 + 0x53974))(0);\n        pVStack_218 = (Vdbe *)&DAT_00000007;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        goto LAB_00107f4c;\n      }" { (expression_statement "(**(code **)(pcVar56 + 0x53974))(0);" (call_expression "(**(code **)(pcVar56 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53974))" ( (pointer_expression "**(code **)(pcVar56 + 0x53974)" * (pointer_expression "*(code **)(pcVar56 + 0x53974)" * (cast_expression "(code **)(pcVar56 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53974)" ( (binary_expression "pcVar56 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "pVStack_218 = (Vdbe *)&DAT_00000007;" (assignment_expression "pVStack_218 = (Vdbe *)&DAT_00000007" identifier = (cast_expression "(Vdbe *)&DAT_00000007" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;" (assignment_expression "psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23" (field_expression "psVar43->pUpdateArg" identifier -> field_identifier) = (binary_expression "psVar43->xPreUpdateCallback + -0x23" (field_expression "psVar43->xPreUpdateCallback" identifier -> field_identifier) + number_literal)) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) (expression_statement "psVar44 = (sqlite3 *)0xffffffff;" (assignment_expression "psVar44 = (sqlite3 *)0xffffffff" identifier = (cast_expression "(sqlite3 *)0xffffffff" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_stack_fffffd68 = (sqlite3_vtab **)0x0;" (assignment_expression "in_stack_fffffd68 = (sqlite3_vtab **)0x0" identifier = (cast_expression "(sqlite3_vtab **)0x0" ( (type_descriptor "sqlite3_vtab **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "psVar31 = psVar20;" (assignment_expression "psVar31 = psVar20" identifier = identifier) ;) (expression_statement "pVVar21 = (Vdbe *)sqlite3_prepare((sqlite3 *)psVar43->mutex,(char *)psVar20,-1,\n                                        (sqlite3_stmt **)psVar41,(char **)0x0);" (assignment_expression "pVVar21 = (Vdbe *)sqlite3_prepare((sqlite3 *)psVar43->mutex,(char *)psVar20,-1,\n                                        (sqlite3_stmt **)psVar41,(char **)0x0)" identifier = (cast_expression "(Vdbe *)sqlite3_prepare((sqlite3 *)psVar43->mutex,(char *)psVar20,-1,\n                                        (sqlite3_stmt **)psVar41,(char **)0x0)" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3_prepare((sqlite3 *)psVar43->mutex,(char *)psVar20,-1,\n                                        (sqlite3_stmt **)psVar41,(char **)0x0)" identifier (argument_list "((sqlite3 *)psVar43->mutex,(char *)psVar20,-1,\n                                        (sqlite3_stmt **)psVar41,(char **)0x0)" ( (cast_expression "(sqlite3 *)psVar43->mutex" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->mutex" identifier -> field_identifier)) , (cast_expression "(char *)psVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (cast_expression "(sqlite3_stmt **)psVar41" ( (type_descriptor "sqlite3_stmt **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))))) ;) (if_statement "if (pVVar21 == (Vdbe *)0x0) {\n        (**(code **)(pcVar56 + 0x53984))(pVStack_210);\n        psVar31 = (sqlite3 *)0x0;\n        p_Var23 = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64\n                   *)(**(code **)(pcVar56 + 0x53998))(pVStack_210);\n        psVar43->xPreUpdateCallback = p_Var23;\n        pVVar21 = (Vdbe *)(**(code **)(pcVar56 + 0x53990))(pVStack_210);\n        argv = psVar41;\nLAB_001089a8:\n        (**(code **)(pcVar56 + 0x53974))(psVar20);\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        pVStack_218 = pVVar21;\n        if (pVVar21 != (Vdbe *)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar51 = *(code **)(pcVar56 + 0x53974);\n        argv = psVar41;\n        if (pVVar21 != (Vdbe *)&DAT_00000017) goto LAB_001089a8;\n        psVar43->xPreUpdateCallback =\n             (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *)\n             0x400;\n        (*pcVar51)(psVar20);\n        pVStack_218 = (Vdbe *)0x0;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n      }" if (parenthesized_expression "(pVVar21 == (Vdbe *)0x0)" ( (binary_expression "pVVar21 == (Vdbe *)0x0" identifier == (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(pcVar56 + 0x53984))(pVStack_210);\n        psVar31 = (sqlite3 *)0x0;\n        p_Var23 = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64\n                   *)(**(code **)(pcVar56 + 0x53998))(pVStack_210);\n        psVar43->xPreUpdateCallback = p_Var23;\n        pVVar21 = (Vdbe *)(**(code **)(pcVar56 + 0x53990))(pVStack_210);\n        argv = psVar41;\nLAB_001089a8:\n        (**(code **)(pcVar56 + 0x53974))(psVar20);\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n        pVStack_218 = pVVar21;\n        if (pVVar21 != (Vdbe *)0x0) goto LAB_00107f4c;\n      }" { (expression_statement "(**(code **)(pcVar56 + 0x53984))(pVStack_210);" (call_expression "(**(code **)(pcVar56 + 0x53984))(pVStack_210)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53984))" ( (pointer_expression "**(code **)(pcVar56 + 0x53984)" * (pointer_expression "*(code **)(pcVar56 + 0x53984)" * (cast_expression "(code **)(pcVar56 + 0x53984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53984)" ( (binary_expression "pcVar56 + 0x53984" identifier + number_literal) ))))) )) (argument_list "(pVStack_210)" ( identifier ))) ;) (expression_statement "psVar31 = (sqlite3 *)0x0;" (assignment_expression "psVar31 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p_Var23 = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64\n                   *)(**(code **)(pcVar56 + 0x53998))(pVStack_210);" (assignment_expression "p_Var23 = (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64\n                   *)(**(code **)(pcVar56 + 0x53998))(pVStack_210)" identifier = (cast_expression "(_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64\n                   *)(**(code **)(pcVar56 + 0x53998))(pVStack_210)" ( (type_descriptor "_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64\n                   *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar56 + 0x53998))(pVStack_210)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53998))" ( (pointer_expression "**(code **)(pcVar56 + 0x53998)" * (pointer_expression "*(code **)(pcVar56 + 0x53998)" * (cast_expression "(code **)(pcVar56 + 0x53998)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53998)" ( (binary_expression "pcVar56 + 0x53998" identifier + number_literal) ))))) )) (argument_list "(pVStack_210)" ( identifier ))))) ;) (expression_statement "psVar43->xPreUpdateCallback = p_Var23;" (assignment_expression "psVar43->xPreUpdateCallback = p_Var23" (field_expression "psVar43->xPreUpdateCallback" identifier -> field_identifier) = identifier) ;) (expression_statement "pVVar21 = (Vdbe *)(**(code **)(pcVar56 + 0x53990))(pVStack_210);" (assignment_expression "pVVar21 = (Vdbe *)(**(code **)(pcVar56 + 0x53990))(pVStack_210)" identifier = (cast_expression "(Vdbe *)(**(code **)(pcVar56 + 0x53990))(pVStack_210)" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar56 + 0x53990))(pVStack_210)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53990))" ( (pointer_expression "**(code **)(pcVar56 + 0x53990)" * (pointer_expression "*(code **)(pcVar56 + 0x53990)" * (cast_expression "(code **)(pcVar56 + 0x53990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53990)" ( (binary_expression "pcVar56 + 0x53990" identifier + number_literal) ))))) )) (argument_list "(pVStack_210)" ( identifier ))))) ;) (expression_statement "argv = psVar41;" (assignment_expression "argv = psVar41" identifier = identifier) ;) (labeled_statement "LAB_001089a8:\n        (**(code **)(pcVar56 + 0x53974))(psVar20);" statement_identifier : (expression_statement "(**(code **)(pcVar56 + 0x53974))(psVar20);" (call_expression "(**(code **)(pcVar56 + 0x53974))(psVar20)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53974))" ( (pointer_expression "**(code **)(pcVar56 + 0x53974)" * (pointer_expression "*(code **)(pcVar56 + 0x53974)" * (cast_expression "(code **)(pcVar56 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53974)" ( (binary_expression "pcVar56 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(psVar20)" ( identifier ))) ;)) (expression_statement "psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;" (assignment_expression "psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23" (field_expression "psVar43->pUpdateArg" identifier -> field_identifier) = (binary_expression "psVar43->xPreUpdateCallback + -0x23" (field_expression "psVar43->xPreUpdateCallback" identifier -> field_identifier) + number_literal)) ;) (expression_statement "pVStack_218 = pVVar21;" (assignment_expression "pVStack_218 = pVVar21" identifier = identifier) ;) (if_statement "if (pVVar21 != (Vdbe *)0x0) goto LAB_00107f4c;" if (parenthesized_expression "(pVVar21 != (Vdbe *)0x0)" ( (binary_expression "pVVar21 != (Vdbe *)0x0" identifier != (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;)) }) (else_clause "else {\n        pcVar51 = *(code **)(pcVar56 + 0x53974);\n        argv = psVar41;\n        if (pVVar21 != (Vdbe *)&DAT_00000017) goto LAB_001089a8;\n        psVar43->xPreUpdateCallback =\n             (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *)\n             0x400;\n        (*pcVar51)(psVar20);\n        pVStack_218 = (Vdbe *)0x0;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n      }" else (compound_statement "{\n        pcVar51 = *(code **)(pcVar56 + 0x53974);\n        argv = psVar41;\n        if (pVVar21 != (Vdbe *)&DAT_00000017) goto LAB_001089a8;\n        psVar43->xPreUpdateCallback =\n             (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *)\n             0x400;\n        (*pcVar51)(psVar20);\n        pVStack_218 = (Vdbe *)0x0;\n        psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;\n      }" { (expression_statement "pcVar51 = *(code **)(pcVar56 + 0x53974);" (assignment_expression "pcVar51 = *(code **)(pcVar56 + 0x53974)" identifier = (pointer_expression "*(code **)(pcVar56 + 0x53974)" * (cast_expression "(code **)(pcVar56 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53974)" ( (binary_expression "pcVar56 + 0x53974" identifier + number_literal) ))))) ;) (expression_statement "argv = psVar41;" (assignment_expression "argv = psVar41" identifier = identifier) ;) (if_statement "if (pVVar21 != (Vdbe *)&DAT_00000017) goto LAB_001089a8;" if (parenthesized_expression "(pVVar21 != (Vdbe *)&DAT_00000017)" ( (binary_expression "pVVar21 != (Vdbe *)&DAT_00000017" identifier != (cast_expression "(Vdbe *)&DAT_00000017" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000017" & identifier))) )) (goto_statement "goto LAB_001089a8;" goto statement_identifier ;)) (expression_statement "psVar43->xPreUpdateCallback =\n             (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *)\n             0x400;" (assignment_expression "psVar43->xPreUpdateCallback =\n             (_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *)\n             0x400" (field_expression "psVar43->xPreUpdateCallback" identifier -> field_identifier) = (cast_expression "(_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *)\n             0x400" ( (type_descriptor "_func_void_void_ptr_sqlite3_ptr_int_char_ptr_char_ptr_sqlite3_int64_sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcVar51)(psVar20);" (call_expression "(*pcVar51)(psVar20)" (parenthesized_expression "(*pcVar51)" ( (pointer_expression "*pcVar51" * identifier) )) (argument_list "(psVar20)" ( identifier ))) ;) (expression_statement "pVStack_218 = (Vdbe *)0x0;" (assignment_expression "pVStack_218 = (Vdbe *)0x0" identifier = (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23;" (assignment_expression "psVar43->pUpdateArg = psVar43->xPreUpdateCallback + -0x23" (field_expression "psVar43->pUpdateArg" identifier -> field_identifier) = (binary_expression "psVar43->xPreUpdateCallback + -0x23" (field_expression "psVar43->xPreUpdateCallback" identifier -> field_identifier) + number_literal)) ;) }))) (expression_statement "argv = *(sqlite3 **)((int)&psVar43->lastRowid + 4);" (assignment_expression "argv = *(sqlite3 **)((int)&psVar43->lastRowid + 4)" identifier = (pointer_expression "*(sqlite3 **)((int)&psVar43->lastRowid + 4)" * (cast_expression "(sqlite3 **)((int)&psVar43->lastRowid + 4)" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&psVar43->lastRowid + 4)" ( (binary_expression "(int)&psVar43->lastRowid + 4" (cast_expression "(int)&psVar43->lastRowid" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar43->lastRowid" & (field_expression "psVar43->lastRowid" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if (argv == (sqlite3 *)0x0) {\n        argv = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x36a4);\n      }" if (parenthesized_expression "(argv == (sqlite3 *)0x0)" ( (binary_expression "argv == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        argv = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x36a4);\n      }" { (expression_statement "argv = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x36a4);" (assignment_expression "argv = (sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x36a4)" identifier = (cast_expression "(sqlite3 *)(*(int *)(pcVar56 + 0x53950) + -0x36a4)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar56 + 0x53950) + -0x36a4)" ( (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x36a4" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "(**(code **)(pcVar56 + 0x53c10))((sqlite3 *)psVar43->mutex,1,1);" (call_expression "(**(code **)(pcVar56 + 0x53c10))((sqlite3 *)psVar43->mutex,1,1)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53c10))" ( (pointer_expression "**(code **)(pcVar56 + 0x53c10)" * (pointer_expression "*(code **)(pcVar56 + 0x53c10)" * (cast_expression "(code **)(pcVar56 + 0x53c10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53c10)" ( (binary_expression "pcVar56 + 0x53c10" identifier + number_literal) ))))) )) (argument_list "((sqlite3 *)psVar43->mutex,1,1)" ( (cast_expression "(sqlite3 *)psVar43->mutex" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->mutex" identifier -> field_identifier)) , number_literal , number_literal ))) ;) (expression_statement "psVar41 = (sqlite3 *)\n                (**(code **)(pcVar56 + 0x5397c))\n                          (*(int *)(pcVar56 + 0x53950) + -0x3440,**(char ***)&psVar43->field_0x1c);" (assignment_expression "psVar41 = (sqlite3 *)\n                (**(code **)(pcVar56 + 0x5397c))\n                          (*(int *)(pcVar56 + 0x53950) + -0x3440,**(char ***)&psVar43->field_0x1c)" identifier = (cast_expression "(sqlite3 *)\n                (**(code **)(pcVar56 + 0x5397c))\n                          (*(int *)(pcVar56 + 0x53950) + -0x3440,**(char ***)&psVar43->field_0x1c)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar56 + 0x5397c))\n                          (*(int *)(pcVar56 + 0x53950) + -0x3440,**(char ***)&psVar43->field_0x1c)" (parenthesized_expression "(**(code **)(pcVar56 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar56 + 0x5397c)" * (pointer_expression "*(code **)(pcVar56 + 0x5397c)" * (cast_expression "(code **)(pcVar56 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x5397c)" ( (binary_expression "pcVar56 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar56 + 0x53950) + -0x3440,**(char ***)&psVar43->field_0x1c)" ( (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x3440" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) , (pointer_expression "**(char ***)&psVar43->field_0x1c" * (pointer_expression "*(char ***)&psVar43->field_0x1c" * (cast_expression "(char ***)&psVar43->field_0x1c" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&psVar43->field_0x1c" & (field_expression "psVar43->field_0x1c" identifier -> field_identifier))))) ))))) ;) (if_statement "if (psVar41 == (sqlite3 *)0x0) {\nLAB_00108a70:\n        psVar31 = (sqlite3 *)0x0;\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar41 = (sqlite3 *)0x0;\n        pVVar21 = (Vdbe *)&DAT_00000007;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n      }\n      else {\n        iVar5 = 1;\n        if (1 < (int)psVar43->mDbFlags) {\n          iVar7 = *(int *)(pcVar56 + 0x53950);\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar5;\n            iVar5 = iVar5 + 1;\n            psVar41 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)\n            ;\n            if (psVar41 == (sqlite3 *)0x0) goto LAB_00108a70;\n          } while (iVar5 < (int)psVar43->mDbFlags);\n        }\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar31 = psVar41;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n        if (psVar20 == (sqlite3 *)0x0) {\n          pVVar21 = (Vdbe *)&DAT_00000007;\n        }\n        else {\n          psVar31 = psVar20;\n          pVVar21 = (Vdbe *)sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20);\n        }\n      }" if (parenthesized_expression "(psVar41 == (sqlite3 *)0x0)" ( (binary_expression "psVar41 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00108a70:\n        psVar31 = (sqlite3 *)0x0;\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar41 = (sqlite3 *)0x0;\n        pVVar21 = (Vdbe *)&DAT_00000007;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n      }" { (labeled_statement "LAB_00108a70:\n        psVar31 = (sqlite3 *)0x0;" statement_identifier : (expression_statement "psVar31 = (sqlite3 *)0x0;" (assignment_expression "psVar31 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "psVar44 = (sqlite3 *)psVar43->nDb;" (assignment_expression "psVar44 = (sqlite3 *)psVar43->nDb" identifier = (cast_expression "(sqlite3 *)psVar43->nDb" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->nDb" identifier -> field_identifier))) ;) (expression_statement "psVar41 = (sqlite3 *)0x0;" (assignment_expression "psVar41 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pVVar21 = (Vdbe *)&DAT_00000007;" (assignment_expression "pVVar21 = (Vdbe *)&DAT_00000007" identifier = (cast_expression "(Vdbe *)&DAT_00000007" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;" (assignment_expression "psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)" identifier = (cast_expression "(sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)" (parenthesized_expression "(**(code **)(pcVar56 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar56 + 0x5397c)" * (pointer_expression "*(code **)(pcVar56 + 0x5397c)" * (cast_expression "(code **)(pcVar56 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x5397c)" ( (binary_expression "pcVar56 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar56 + 0x53950) + -0x3430)" ( (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x3430" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) ))))) ;) }) (else_clause "else {\n        iVar5 = 1;\n        if (1 < (int)psVar43->mDbFlags) {\n          iVar7 = *(int *)(pcVar56 + 0x53950);\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar5;\n            iVar5 = iVar5 + 1;\n            psVar41 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)\n            ;\n            if (psVar41 == (sqlite3 *)0x0) goto LAB_00108a70;\n          } while (iVar5 < (int)psVar43->mDbFlags);\n        }\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar31 = psVar41;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n        if (psVar20 == (sqlite3 *)0x0) {\n          pVVar21 = (Vdbe *)&DAT_00000007;\n        }\n        else {\n          psVar31 = psVar20;\n          pVVar21 = (Vdbe *)sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20);\n        }\n      }" else (compound_statement "{\n        iVar5 = 1;\n        if (1 < (int)psVar43->mDbFlags) {\n          iVar7 = *(int *)(pcVar56 + 0x53950);\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar5;\n            iVar5 = iVar5 + 1;\n            psVar41 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)\n            ;\n            if (psVar41 == (sqlite3 *)0x0) goto LAB_00108a70;\n          } while (iVar5 < (int)psVar43->mDbFlags);\n        }\n        psVar44 = (sqlite3 *)psVar43->nDb;\n        psVar31 = psVar41;\n        psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;\n        if (psVar20 == (sqlite3 *)0x0) {\n          pVVar21 = (Vdbe *)&DAT_00000007;\n        }\n        else {\n          psVar31 = psVar20;\n          pVVar21 = (Vdbe *)sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20);\n        }\n      }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (if_statement "if (1 < (int)psVar43->mDbFlags) {\n          iVar7 = *(int *)(pcVar56 + 0x53950);\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar5;\n            iVar5 = iVar5 + 1;\n            psVar41 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)\n            ;\n            if (psVar41 == (sqlite3 *)0x0) goto LAB_00108a70;\n          } while (iVar5 < (int)psVar43->mDbFlags);\n        }" if (parenthesized_expression "(1 < (int)psVar43->mDbFlags)" ( (binary_expression "1 < (int)psVar43->mDbFlags" number_literal < (cast_expression "(int)psVar43->mDbFlags" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar43->mDbFlags" identifier -> field_identifier))) )) (compound_statement "{\n          iVar7 = *(int *)(pcVar56 + 0x53950);\n          do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar5;\n            iVar5 = iVar5 + 1;\n            psVar41 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)\n            ;\n            if (psVar41 == (sqlite3 *)0x0) goto LAB_00108a70;\n          } while (iVar5 < (int)psVar43->mDbFlags);\n        }" { (expression_statement "iVar7 = *(int *)(pcVar56 + 0x53950);" (assignment_expression "iVar7 = *(int *)(pcVar56 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) ))))) ;) (do_statement "do {\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar5;\n            iVar5 = iVar5 + 1;\n            psVar41 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)\n            ;\n            if (psVar41 == (sqlite3 *)0x0) goto LAB_00108a70;\n          } while (iVar5 < (int)psVar43->mDbFlags);" do (compound_statement "{\n            ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar5;\n            iVar5 = iVar5 + 1;\n            psVar41 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)\n            ;\n            if (psVar41 == (sqlite3 *)0x0) goto LAB_00108a70;\n          }" { (expression_statement "ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar5;" (assignment_expression "ppcVar22 = *(char ***)&psVar43->field_0x1c + iVar5" identifier = (binary_expression "*(char ***)&psVar43->field_0x1c + iVar5" (pointer_expression "*(char ***)&psVar43->field_0x1c" * (cast_expression "(char ***)&psVar43->field_0x1c" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&psVar43->field_0x1c" & (field_expression "psVar43->field_0x1c" identifier -> field_identifier)))) + identifier)) ;) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "psVar41 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)\n            ;" (assignment_expression "psVar41 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)" identifier = (cast_expression "(sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar56 + 0x5397c))(iVar7 + -0x3438,psVar41,*ppcVar22)" (parenthesized_expression "(**(code **)(pcVar56 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar56 + 0x5397c)" * (pointer_expression "*(code **)(pcVar56 + 0x5397c)" * (cast_expression "(code **)(pcVar56 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x5397c)" ( (binary_expression "pcVar56 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(iVar7 + -0x3438,psVar41,*ppcVar22)" ( (binary_expression "iVar7 + -0x3438" identifier + number_literal) , identifier , (pointer_expression "*ppcVar22" * identifier) ))))) ;) (if_statement "if (psVar41 == (sqlite3 *)0x0) goto LAB_00108a70;" if (parenthesized_expression "(psVar41 == (sqlite3 *)0x0)" ( (binary_expression "psVar41 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00108a70;" goto statement_identifier ;)) }) while (parenthesized_expression "(iVar5 < (int)psVar43->mDbFlags)" ( (binary_expression "iVar5 < (int)psVar43->mDbFlags" identifier < (cast_expression "(int)psVar43->mDbFlags" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar43->mDbFlags" identifier -> field_identifier))) )) ;) })) (expression_statement "psVar44 = (sqlite3 *)psVar43->nDb;" (assignment_expression "psVar44 = (sqlite3 *)psVar43->nDb" identifier = (cast_expression "(sqlite3 *)psVar43->nDb" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->nDb" identifier -> field_identifier))) ;) (expression_statement "psVar31 = psVar41;" (assignment_expression "psVar31 = psVar41" identifier = identifier) ;) (expression_statement "psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)\n        ;" (assignment_expression "psVar20 = (sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)" identifier = (cast_expression "(sqlite3 *)(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar56 + 0x5397c))(*(int *)(pcVar56 + 0x53950) + -0x3430)" (parenthesized_expression "(**(code **)(pcVar56 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar56 + 0x5397c)" * (pointer_expression "*(code **)(pcVar56 + 0x5397c)" * (cast_expression "(code **)(pcVar56 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x5397c)" ( (binary_expression "pcVar56 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar56 + 0x53950) + -0x3430)" ( (binary_expression "*(int *)(pcVar56 + 0x53950) + -0x3430" (pointer_expression "*(int *)(pcVar56 + 0x53950)" * (cast_expression "(int *)(pcVar56 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53950)" ( (binary_expression "pcVar56 + 0x53950" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (psVar20 == (sqlite3 *)0x0) {\n          pVVar21 = (Vdbe *)&DAT_00000007;\n        }\n        else {\n          psVar31 = psVar20;\n          pVVar21 = (Vdbe *)sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20);\n        }" if (parenthesized_expression "(psVar20 == (sqlite3 *)0x0)" ( (binary_expression "psVar20 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pVVar21 = (Vdbe *)&DAT_00000007;\n        }" { (expression_statement "pVVar21 = (Vdbe *)&DAT_00000007;" (assignment_expression "pVVar21 = (Vdbe *)&DAT_00000007" identifier = (cast_expression "(Vdbe *)&DAT_00000007" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }) (else_clause "else {\n          psVar31 = psVar20;\n          pVVar21 = (Vdbe *)sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20);\n        }" else (compound_statement "{\n          psVar31 = psVar20;\n          pVVar21 = (Vdbe *)sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20);\n        }" { (expression_statement "psVar31 = psVar20;" (assignment_expression "psVar31 = psVar20" identifier = identifier) ;) (expression_statement "pVVar21 = (Vdbe *)sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20);" (assignment_expression "pVVar21 = (Vdbe *)sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20)" identifier = (cast_expression "(Vdbe *)sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20)" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3_declare_vtab((sqlite3 *)psVar43->mutex,(char *)psVar20)" identifier (argument_list "((sqlite3 *)psVar43->mutex,(char *)psVar20)" ( (cast_expression "(sqlite3 *)psVar43->mutex" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar43->mutex" identifier -> field_identifier)) , (cast_expression "(char *)psVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))))) ;) }))) }))) (expression_statement "(**(code **)(pcVar56 + 0x53974))(psVar20);" (call_expression "(**(code **)(pcVar56 + 0x53974))(psVar20)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53974))" ( (pointer_expression "**(code **)(pcVar56 + 0x53974)" * (pointer_expression "*(code **)(pcVar56 + 0x53974)" * (cast_expression "(code **)(pcVar56 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53974)" ( (binary_expression "pcVar56 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(psVar20)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar56 + 0x53974))(psVar41);" (call_expression "(**(code **)(pcVar56 + 0x53974))(psVar41)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53974))" ( (pointer_expression "**(code **)(pcVar56 + 0x53974)" * (pointer_expression "*(code **)(pcVar56 + 0x53974)" * (cast_expression "(code **)(pcVar56 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53974)" ( (binary_expression "pcVar56 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(psVar41)" ( identifier ))) ;) (expression_statement "pVStack_218 = pVVar21;" (assignment_expression "pVStack_218 = pVVar21" identifier = identifier) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) })) (expression_statement "psVar44 = psVar29;" (assignment_expression "psVar44 = psVar29" identifier = identifier) ;) (expression_statement "iStack_284 = 0;" (assignment_expression "iStack_284 = 0" identifier = number_literal) ;) (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" identifier = number_literal) ;) (expression_statement "psVar43 = (sqlite3 *)0x0;" (assignment_expression "psVar43 = (sqlite3 *)0x0" identifier = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pVStack_218 = (Vdbe *)&DAT_00000007;" (assignment_expression "pVStack_218 = (Vdbe *)&DAT_00000007" identifier = (cast_expression "(Vdbe *)&DAT_00000007" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (labeled_statement "LAB_00107f4c:\n  (**(code **)(pcVar56 + 0x53974))(0);" statement_identifier : (expression_statement "(**(code **)(pcVar56 + 0x53974))(0);" (call_expression "(**(code **)(pcVar56 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53974))" ( (pointer_expression "**(code **)(pcVar56 + 0x53974)" * (pointer_expression "*(code **)(pcVar56 + 0x53974)" * (cast_expression "(code **)(pcVar56 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53974)" ( (binary_expression "pcVar56 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;)) (expression_statement "(**(code **)(pcVar56 + 0x53974))(iStack_278);" (call_expression "(**(code **)(pcVar56 + 0x53974))(iStack_278)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53974))" ( (pointer_expression "**(code **)(pcVar56 + 0x53974)" * (pointer_expression "*(code **)(pcVar56 + 0x53974)" * (cast_expression "(code **)(pcVar56 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53974)" ( (binary_expression "pcVar56 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(iStack_278)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar56 + 0x53974))(0);" (call_expression "(**(code **)(pcVar56 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53974))" ( (pointer_expression "**(code **)(pcVar56 + 0x53974)" * (pointer_expression "*(code **)(pcVar56 + 0x53974)" * (cast_expression "(code **)(pcVar56 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53974)" ( (binary_expression "pcVar56 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "(**(code **)(pcVar56 + 0x53974))(0);" (call_expression "(**(code **)(pcVar56 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53974))" ( (pointer_expression "**(code **)(pcVar56 + 0x53974)" * (pointer_expression "*(code **)(pcVar56 + 0x53974)" * (cast_expression "(code **)(pcVar56 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53974)" ( (binary_expression "pcVar56 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "(**(code **)(pcVar56 + 0x53974))(0);" (call_expression "(**(code **)(pcVar56 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53974))" ( (pointer_expression "**(code **)(pcVar56 + 0x53974)" * (pointer_expression "*(code **)(pcVar56 + 0x53974)" * (cast_expression "(code **)(pcVar56 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53974)" ( (binary_expression "pcVar56 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "(**(code **)(pcVar56 + 0x53974))(0);" (call_expression "(**(code **)(pcVar56 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53974))" ( (pointer_expression "**(code **)(pcVar56 + 0x53974)" * (pointer_expression "*(code **)(pcVar56 + 0x53974)" * (cast_expression "(code **)(pcVar56 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53974)" ( (binary_expression "pcVar56 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "(**(code **)(pcVar56 + 0x53974))(piVar8);" (call_expression "(**(code **)(pcVar56 + 0x53974))(piVar8)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53974))" ( (pointer_expression "**(code **)(pcVar56 + 0x53974)" * (pointer_expression "*(code **)(pcVar56 + 0x53974)" * (cast_expression "(code **)(pcVar56 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53974)" ( (binary_expression "pcVar56 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(piVar8)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar56 + 0x53974))(iStack_284);" (call_expression "(**(code **)(pcVar56 + 0x53974))(iStack_284)" (parenthesized_expression "(**(code **)(pcVar56 + 0x53974))" ( (pointer_expression "**(code **)(pcVar56 + 0x53974)" * (pointer_expression "*(code **)(pcVar56 + 0x53974)" * (cast_expression "(code **)(pcVar56 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53974)" ( (binary_expression "pcVar56 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(iStack_284)" ( identifier ))) ;) (if_statement "if (pVStack_218 == (Vdbe *)0x0) {\n    *puStack_18c = psVar43;\n  }\n  else if (psVar43 == (sqlite3 *)0x0) {\n    if (psStack_214 != (sqlite3_vfs *)0x0) {\n      (*((sqlite3_tokenizer_module *)psStack_214->iVersion)->xDestroy)\n                ((sqlite3_tokenizer *)psStack_214);\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar56 + 0x53a4c) + 0x585c))(psVar43);\n  }" if (parenthesized_expression "(pVStack_218 == (Vdbe *)0x0)" ( (binary_expression "pVStack_218 == (Vdbe *)0x0" identifier == (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *puStack_18c = psVar43;\n  }" { (expression_statement "*puStack_18c = psVar43;" (assignment_expression "*puStack_18c = psVar43" (pointer_expression "*puStack_18c" * identifier) = identifier) ;) }) (else_clause "else if (psVar43 == (sqlite3 *)0x0) {\n    if (psStack_214 != (sqlite3_vfs *)0x0) {\n      (*((sqlite3_tokenizer_module *)psStack_214->iVersion)->xDestroy)\n                ((sqlite3_tokenizer *)psStack_214);\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar56 + 0x53a4c) + 0x585c))(psVar43);\n  }" else (if_statement "if (psVar43 == (sqlite3 *)0x0) {\n    if (psStack_214 != (sqlite3_vfs *)0x0) {\n      (*((sqlite3_tokenizer_module *)psStack_214->iVersion)->xDestroy)\n                ((sqlite3_tokenizer *)psStack_214);\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar56 + 0x53a4c) + 0x585c))(psVar43);\n  }" if (parenthesized_expression "(psVar43 == (sqlite3 *)0x0)" ( (binary_expression "psVar43 == (sqlite3 *)0x0" identifier == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (psStack_214 != (sqlite3_vfs *)0x0) {\n      (*((sqlite3_tokenizer_module *)psStack_214->iVersion)->xDestroy)\n                ((sqlite3_tokenizer *)psStack_214);\n    }\n  }" { (if_statement "if (psStack_214 != (sqlite3_vfs *)0x0) {\n      (*((sqlite3_tokenizer_module *)psStack_214->iVersion)->xDestroy)\n                ((sqlite3_tokenizer *)psStack_214);\n    }" if (parenthesized_expression "(psStack_214 != (sqlite3_vfs *)0x0)" ( (binary_expression "psStack_214 != (sqlite3_vfs *)0x0" identifier != (cast_expression "(sqlite3_vfs *)0x0" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*((sqlite3_tokenizer_module *)psStack_214->iVersion)->xDestroy)\n                ((sqlite3_tokenizer *)psStack_214);\n    }" { (expression_statement "(*((sqlite3_tokenizer_module *)psStack_214->iVersion)->xDestroy)\n                ((sqlite3_tokenizer *)psStack_214);" (call_expression "(*((sqlite3_tokenizer_module *)psStack_214->iVersion)->xDestroy)\n                ((sqlite3_tokenizer *)psStack_214)" (parenthesized_expression "(*((sqlite3_tokenizer_module *)psStack_214->iVersion)->xDestroy)" ( (pointer_expression "*((sqlite3_tokenizer_module *)psStack_214->iVersion)->xDestroy" * (field_expression "((sqlite3_tokenizer_module *)psStack_214->iVersion)->xDestroy" (parenthesized_expression "((sqlite3_tokenizer_module *)psStack_214->iVersion)" ( (cast_expression "(sqlite3_tokenizer_module *)psStack_214->iVersion" ( (type_descriptor "sqlite3_tokenizer_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psStack_214->iVersion" identifier -> field_identifier)) )) -> field_identifier)) )) (argument_list "((sqlite3_tokenizer *)psStack_214)" ( (cast_expression "(sqlite3_tokenizer *)psStack_214" ( (type_descriptor "sqlite3_tokenizer *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) }) (else_clause "else {\n    (*(code *)(*(int *)(pcVar56 + 0x53a4c) + 0x585c))(psVar43);\n  }" else (compound_statement "{\n    (*(code *)(*(int *)(pcVar56 + 0x53a4c) + 0x585c))(psVar43);\n  }" { (expression_statement "(*(code *)(*(int *)(pcVar56 + 0x53a4c) + 0x585c))(psVar43);" (call_expression "(*(code *)(*(int *)(pcVar56 + 0x53a4c) + 0x585c))(psVar43)" (parenthesized_expression "(*(code *)(*(int *)(pcVar56 + 0x53a4c) + 0x585c))" ( (pointer_expression "*(code *)(*(int *)(pcVar56 + 0x53a4c) + 0x585c)" * (cast_expression "(code *)(*(int *)(pcVar56 + 0x53a4c) + 0x585c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar56 + 0x53a4c) + 0x585c)" ( (binary_expression "*(int *)(pcVar56 + 0x53a4c) + 0x585c" (pointer_expression "*(int *)(pcVar56 + 0x53a4c)" * (cast_expression "(int *)(pcVar56 + 0x53a4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar56 + 0x53a4c)" ( (binary_expression "pcVar56 + 0x53a4c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(psVar43)" ( identifier ))) ;) }))))) (if_statement "if (psStack_1cc == (sqlite3 *)*piVar25) {\n    return;\n  }" if (parenthesized_expression "(psStack_1cc == (sqlite3 *)*piVar25)" ( (binary_expression "psStack_1cc == (sqlite3 *)*piVar25" identifier == (cast_expression "(sqlite3 *)*piVar25" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar25" * identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "psVar43 = psStack_1cc;" (assignment_expression "psVar43 = psStack_1cc" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar56 + 0x53d64))();" (call_expression "(**(code **)(pcVar56 + 0x53d64))()" (parenthesized_expression "(**(code **)(pcVar56 + 0x53d64))" ( (pointer_expression "**(code **)(pcVar56 + 0x53d64)" * (pointer_expression "*(code **)(pcVar56 + 0x53d64)" * (cast_expression "(code **)(pcVar56 + 0x53d64)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar56 + 0x53d64)" ( (binary_expression "pcVar56 + 0x53d64" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "fts3InitVtab(0,psVar43,psVar31,(int)psVar44,(char **)argv,in_stack_fffffd68,in_stack_fffffd6c);" (call_expression "fts3InitVtab(0,psVar43,psVar31,(int)psVar44,(char **)argv,in_stack_fffffd68,in_stack_fffffd6c)" identifier (argument_list "(0,psVar43,psVar31,(int)psVar44,(char **)argv,in_stack_fffffd68,in_stack_fffffd6c)" ( number_literal , identifier , identifier , (cast_expression "(int)psVar44" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(char **)argv" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "code ****** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  undefined *puVar3;\n  int iVar4;\n  code ******ppppppcVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  int iVar13;\n  uint *puVar14;\n  undefined4 uVar15;\n  int *piVar16;\n  code ******ppppppcVar17;\n  int *piVar18;\n  code *****pppppcVar19;\n  code cVar20;\n  code ******ppppppcVar21;\n  code *****pppppcVar22;\n  code ******ppppppcVar23;\n  undefined1 *puVar24;\n  code *****pppppcVar25;\n  code ******ppppppcVar26;\n  int *piVar27;\n  code ******ppppppcVar28;\n  code *****pppppcVar29;\n  uint *puVar30;\n  code ******ppppppcVar31;\n  code ******ppppppcVar32;\n  code ******ppppppcVar33;\n  code ****ppppcVar34;\n  code ******ppppppcVar35;\n  int iVar36;\n  code ******unaff_s3;\n  code *****pppppcVar37;\n  code ******unaff_s5;\n  code ******ppppppcVar38;\n  code ******unaff_s6;\n  code ******unaff_s7;\n  undefined *puVar39;\n  code *pcVar40;\n  code *pcVar41;\n  code ******unaff_s8;\n  code *pcVar42;\n  code *pcVar43;\n  undefined8 uVar44;\n  code *****in_stack_fffffd68;\n  int in_stack_fffffd6c;\n  int iStack_284;\n  int iStack_278;\n  code *****pppppcStack_218;\n  code ****ppppcStack_214;\n  code *****pppppcStack_210;\n  code ****appppcStack_20c [16];\n  int iStack_1cc;\n  code *****pppppcStack_1c8;\n  code *****pppppcStack_1c4;\n  uint *puStack_1c0;\n  code *****pppppcStack_1bc;\n  code *****pppppcStack_1b8;\n  code *****pppppcStack_1b4;\n  code *****pppppcStack_1b0;\n  code *****pppppcStack_1ac;\n  code *****pppppcStack_1a8;\n  code *pcStack_1a4;\n  code *****pppppcStack_1a0;\n  code *pcStack_190;\n  undefined4 *puStack_18c;\n  code *****pppppcStack_188;\n  code ****ppppcStack_184;\n  int *piStack_17c;\n  code *****pppppcStack_178;\n  code *****pppppcStack_174;\n  code *****pppppcStack_170;\n  code *****pppppcStack_16c;\n  code *****pppppcStack_168;\n  code *pcStack_164;\n  undefined4 uStack_150;\n  code *pcStack_148;\n  code *****pppppcStack_140;\n  code *pcStack_13c;\n  int iStack_138;\n  int iStack_134;\n  code ****ppppcStack_12c;\n  undefined1 auStack_128 [4];\n  code ****ppppcStack_124;\n  code *****pppppcStack_11c;\n  code *****pppppcStack_118;\n  code *****pppppcStack_114;\n  code *****pppppcStack_110;\n  code *****pppppcStack_10c;\n  code *****pppppcStack_108;\n  code *****pppppcStack_104;\n  int iStack_e0;\n  code *****pppppcStack_c8;\n  code *****pppppcStack_c4;\n  code ****ppppcStack_c0;\n  code *****pppppcStack_bc;\n  code *****pppppcStack_b8;\n  code *****pppppcStack_b4;\n  code *****pppppcStack_b0;\n  code *pcStack_ac;\n  code *pcStack_98;\n  code *****pppppcStack_90;\n  code *****pppppcStack_8c;\n  code *****pppppcStack_84;\n  uint *puStack_80;\n  code *****pppppcStack_7c;\n  code *****pppppcStack_78;\n  code *****pppppcStack_50;\n  code ****ppppcStack_4c;\n  undefined *puStack_44;\n  int *piStack_40;\n  code *****local_18;\n  code *****local_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  ppppppcVar21 = &local_18;\n  local_14 = *(code ******)PTR___stack_chk_guard_0015ba2c;\n  iVar4 = FUN_000f7f20();\n  if (iVar4 == 0) {\n    (*(code *)PTR_sqlite3_step_0015b630)(local_18);\n    iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    param_2 = (code ******)local_18;\n  }\n  *param_1 = iVar4;\n  ppppppcVar5 = *(code *******)puVar3;\n  if ((code ******)local_14 == ppppppcVar5) {\n    return ppppppcVar5;\n  }\n  puVar39 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_44 = puVar3;\n  puVar30 = *(uint **)(puVar39 + 0x549c8);\n  pppppcStack_50 = (code *****)0x0;\n  ppppcStack_4c = (code ****)*puVar30;\n  ppppppcVar5 = param_3;\n  piStack_40 = param_1;\n  (*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))();\n  if (param_3 == (code ******)0x0) {\nLAB_00107118:\n    param_3 = *(code *******)(puVar39 + 0x5466c);\n    if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;\n    unaff_s3 = &pppppcStack_50;\n    param_4 = (code ******)0x0;\n    ppppppcVar21 = (code ******)0x3;\n    param_3 = param_3 + 0x1bee;\n    ppppppcVar5 = param_2;\n    FUN_00106fb8(unaff_s3);\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }\n  }\n  else {\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }\n  }\nLAB_001070d4:\n  if ((code *****)ppppcStack_4c == (code *****)*puVar30) {\n    return (code ******)pppppcStack_50;\n  }\n  pcVar40 = *(code **)(puVar39 + 0x549ac);\n  pppppcVar25 = (code *****)ppppcStack_4c;\n  (*pcVar40)();\n  pcStack_98 = pcVar40 + 0x5c3d0;\n  ppppppcVar31 = *(code *******)(pcVar40 + 0x5484c);\n  pppppcStack_8c = *ppppppcVar31;\n  pppppcStack_84 = (code *****)param_2;\n  puStack_80 = puVar30;\n  pppppcStack_7c = (code *****)param_3;\n  pppppcStack_78 = (code *****)unaff_s3;\n  if (pppppcVar25[10] == (code ****)0x0) {\n    param_4 = ppppppcVar5 + 1;\n    ppppppcVar38 = &pppppcStack_90;\n    ppppppcVar17 = (code ******)0x12;\n    ppppppcVar33 = (code ******)FUN_000f7f20();\n    pppppcVar29 = pppppcStack_90;\n    if (ppppppcVar33 == (code ******)0x0) {\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];\n    ppppppcVar17 = ppppppcVar5;\n    ppppppcVar38 = ppppppcVar21;\n    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);\n    if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }\n  }\nLAB_00107278:\n  if (pppppcStack_8c == *ppppppcVar31) {\n    return ppppppcVar33;\n  }\n  pcVar40 = *(code **)(pcStack_98 + -0x7ba0);\n  pcVar42 = FUN_00107430;\n  ppppppcVar23 = (code ******)pppppcStack_8c;\n  (*pcVar40)();\n  ppppppcVar35 = *(code *******)(pcVar40 + 0x545fc);\n  ppppppcVar26 = (code ******)*ppppppcVar23;\n  pppppcStack_c4 = *ppppppcVar35;\n  ppppppcVar32 = ppppppcVar23;\n  ppppppcVar28 = ppppppcVar17;\n  ppppcStack_c0 = (code ****)pppppcVar25;\n  pppppcStack_bc = (code *****)ppppppcVar31;\n  pppppcStack_b8 = (code *****)ppppppcVar33;\n  pppppcStack_b4 = (code *****)ppppppcVar5;\n  pppppcStack_b0 = (code *****)ppppppcVar21;\n  pcStack_ac = pcVar42;\n  if (ppppppcVar26 == (code ******)0x0) {\n    pppppcVar25 = ppppppcVar17[6];\n    param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);\n    ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);\n    ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2);\n    ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();\n    ppppppcVar21 = ppppppcVar23;\n    if (ppppppcVar31 == (code ******)0x0) {\n      *ppppppcVar23 = (code *****)0x7;\n    }\n    else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }\n  }\n  if (pppppcStack_c4 == *ppppppcVar35) {\n    return (code ******)*ppppppcVar35;\n  }\n  pcVar40 = *(code **)(pcVar40 + 0x545e0);\n  (*pcVar40)();\n  pcStack_148 = pcVar40 + 0x5bf88;\n  piVar27 = *(int **)(pcVar40 + 0x54404);\n  pppppcStack_11c = (code *****)*piVar27;\n  ppppppcVar5 = ppppppcVar32;\n  ppppppcVar33 = ppppppcVar38;\n  ppppppcVar23 = param_4;\n  pppppcStack_118 = (code *****)ppppppcVar26;\n  pppppcStack_114 = (code *****)ppppppcVar31;\n  pppppcStack_110 = (code *****)ppppppcVar35;\n  pppppcStack_10c = (code *****)ppppppcVar17;\n  pppppcStack_108 = (code *****)ppppppcVar21;\n  pppppcStack_104 = (code *****)unaff_s5;\n  if (*ppppppcVar32 == (code *****)0x0) {\n    ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);\n    ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);\n    ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);\n    ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);\n    ppppppcVar17 = ppppppcVar28;\n    unaff_s5 = ppppppcVar38;\n    unaff_s6 = param_4;\n    if (ppppppcVar35 == (code ******)0x0) {\n      *ppppppcVar32 = (code *****)0x7;\n    }\n    else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }\n  }\nLAB_0010767c:\n  if ((code ******)pppppcStack_11c == (code ******)*piVar27) {\n    return (code ******)*piVar27;\n  }\n  pcVar40 = *(code **)(pcStack_148 + -0x7ba0);\n  pcVar42 = FUN_00107a84;\n  (*pcVar40)();\n  pcStack_190 = pcVar40 + 0x5bb2c;\n  puVar30 = *(uint **)(pcVar40 + 0x53fa8);\n  ppppcStack_184 = (code ****)*puVar30;\n  piStack_17c = piVar27;\n  pppppcStack_178 = (code *****)ppppppcVar32;\n  pppppcStack_174 = (code *****)ppppppcVar35;\n  pppppcStack_170 = (code *****)ppppppcVar17;\n  pppppcStack_16c = (code *****)ppppppcVar21;\n  pppppcStack_168 = (code *****)unaff_s5;\n  pcStack_164 = pcVar42;\n  if (*(ushort *)(ppppppcVar5 + 1) < 2) {\n    iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);\n    if (iVar4 == 100) {\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }\n    else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }\n  }\n  else {\n    ppppppcVar32 = (code ******)ppppppcVar5[4];\n    pppppcStack_188 = (code *****)0x0;\n    if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }\n    pppppcVar25 = ppppppcVar5[8];\n    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }\n    ppppppcVar31 = (code ******)0x0;\n    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n  }\nLAB_00107b8c:\n  if ((code *****)ppppcStack_184 == (code *****)*puVar30) {\n    return ppppppcVar31;\n  }\n  pcVar42 = *(code **)(pcStack_190 + -0x7ba0);\n  pcVar43 = FUN_00107cac;\n  pppppcVar25 = (code *****)ppppcStack_184;\n  (*pcVar42)();\n  ppppppcVar38 = (code ******)pppppcStack_188;\n  pcVar40 = pcStack_190;\n  piVar18 = *(int **)(pcVar42 + 0x53d80);\n  ppppppcVar28 = (code ******)((int)((int)ppppppcVar23 + -2) * 4);\n  pppppcStack_218 = (code *****)0x0;\n  iStack_1cc = *piVar18;\n  cVar1 = *(char *)(*(int *)pcStack_190 + 3);\n  ppppcStack_214 = (code ****)0x0;\n  ppppppcVar26 = ppppppcVar33;\n  ppppppcVar35 = ppppppcVar23;\n  pppppcStack_1c8 = (code *****)ppppppcVar5;\n  pppppcStack_1c4 = (code *****)ppppppcVar32;\n  puStack_1c0 = puVar30;\n  pppppcStack_1bc = (code *****)ppppppcVar17;\n  pppppcStack_1b8 = (code *****)ppppppcVar21;\n  pppppcStack_1b4 = (code *****)unaff_s5;\n  pppppcStack_1b0 = (code *****)unaff_s6;\n  pppppcStack_1ac = (code *****)unaff_s7;\n  pppppcStack_1a8 = (code *****)unaff_s8;\n  pcStack_1a4 = pcVar43;\n  pppppcStack_1a0 = (code *****)ppppppcVar31;\n  iVar4 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4));\n  iVar6 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8));\n  ppppppcVar21 = ppppppcVar28;\n  piVar27 = (int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n  if (piVar27 != (int *)0x0) {\n    ppppppcVar26 = ppppppcVar28;\n    (**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);\n    ppppppcVar21 = ppppppcVar28;\n    iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n    if (iStack_284 != 0) {\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }\n  }\n  ppppppcVar28 = ppppppcVar26;\n  iStack_284 = 0;\n  iStack_278 = 0;\n  ppppppcVar5 = (code ******)0x0;\n  pppppcStack_218 = (code *****)&DAT_00000007;\nLAB_00107f4c:\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(iStack_278);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(piVar27);\n  (**(code **)(pcVar42 + 0x53974))(iStack_284);\n  if ((code ******)pppppcStack_218 == (code ******)0x0) {\n    *puStack_18c = ppppppcVar5;\n  }\n  else if (ppppppcVar5 == (code ******)0x0) {\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }\n  if (iStack_1cc == *piVar18) {\n    return (code ******)pppppcStack_218;\n  }\n  iVar4 = iStack_1cc;\n  (**(code **)(pcVar42 + 0x53d64))();\n  ppppppcVar21 = (code ******)\n                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c);\n  return ppppppcVar21;\n}\n\n" (function_definition "code ****** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  undefined *puVar3;\n  int iVar4;\n  code ******ppppppcVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  int iVar13;\n  uint *puVar14;\n  undefined4 uVar15;\n  int *piVar16;\n  code ******ppppppcVar17;\n  int *piVar18;\n  code *****pppppcVar19;\n  code cVar20;\n  code ******ppppppcVar21;\n  code *****pppppcVar22;\n  code ******ppppppcVar23;\n  undefined1 *puVar24;\n  code *****pppppcVar25;\n  code ******ppppppcVar26;\n  int *piVar27;\n  code ******ppppppcVar28;\n  code *****pppppcVar29;\n  uint *puVar30;\n  code ******ppppppcVar31;\n  code ******ppppppcVar32;\n  code ******ppppppcVar33;\n  code ****ppppcVar34;\n  code ******ppppppcVar35;\n  int iVar36;\n  code ******unaff_s3;\n  code *****pppppcVar37;\n  code ******unaff_s5;\n  code ******ppppppcVar38;\n  code ******unaff_s6;\n  code ******unaff_s7;\n  undefined *puVar39;\n  code *pcVar40;\n  code *pcVar41;\n  code ******unaff_s8;\n  code *pcVar42;\n  code *pcVar43;\n  undefined8 uVar44;\n  code *****in_stack_fffffd68;\n  int in_stack_fffffd6c;\n  int iStack_284;\n  int iStack_278;\n  code *****pppppcStack_218;\n  code ****ppppcStack_214;\n  code *****pppppcStack_210;\n  code ****appppcStack_20c [16];\n  int iStack_1cc;\n  code *****pppppcStack_1c8;\n  code *****pppppcStack_1c4;\n  uint *puStack_1c0;\n  code *****pppppcStack_1bc;\n  code *****pppppcStack_1b8;\n  code *****pppppcStack_1b4;\n  code *****pppppcStack_1b0;\n  code *****pppppcStack_1ac;\n  code *****pppppcStack_1a8;\n  code *pcStack_1a4;\n  code *****pppppcStack_1a0;\n  code *pcStack_190;\n  undefined4 *puStack_18c;\n  code *****pppppcStack_188;\n  code ****ppppcStack_184;\n  int *piStack_17c;\n  code *****pppppcStack_178;\n  code *****pppppcStack_174;\n  code *****pppppcStack_170;\n  code *****pppppcStack_16c;\n  code *****pppppcStack_168;\n  code *pcStack_164;\n  undefined4 uStack_150;\n  code *pcStack_148;\n  code *****pppppcStack_140;\n  code *pcStack_13c;\n  int iStack_138;\n  int iStack_134;\n  code ****ppppcStack_12c;\n  undefined1 auStack_128 [4];\n  code ****ppppcStack_124;\n  code *****pppppcStack_11c;\n  code *****pppppcStack_118;\n  code *****pppppcStack_114;\n  code *****pppppcStack_110;\n  code *****pppppcStack_10c;\n  code *****pppppcStack_108;\n  code *****pppppcStack_104;\n  int iStack_e0;\n  code *****pppppcStack_c8;\n  code *****pppppcStack_c4;\n  code ****ppppcStack_c0;\n  code *****pppppcStack_bc;\n  code *****pppppcStack_b8;\n  code *****pppppcStack_b4;\n  code *****pppppcStack_b0;\n  code *pcStack_ac;\n  code *pcStack_98;\n  code *****pppppcStack_90;\n  code *****pppppcStack_8c;\n  code *****pppppcStack_84;\n  uint *puStack_80;\n  code *****pppppcStack_7c;\n  code *****pppppcStack_78;\n  code *****pppppcStack_50;\n  code ****ppppcStack_4c;\n  undefined *puStack_44;\n  int *piStack_40;\n  code *****local_18;\n  code *****local_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  ppppppcVar21 = &local_18;\n  local_14 = *(code ******)PTR___stack_chk_guard_0015ba2c;\n  iVar4 = FUN_000f7f20();\n  if (iVar4 == 0) {\n    (*(code *)PTR_sqlite3_step_0015b630)(local_18);\n    iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    param_2 = (code ******)local_18;\n  }\n  *param_1 = iVar4;\n  ppppppcVar5 = *(code *******)puVar3;\n  if ((code ******)local_14 == ppppppcVar5) {\n    return ppppppcVar5;\n  }\n  puVar39 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_44 = puVar3;\n  puVar30 = *(uint **)(puVar39 + 0x549c8);\n  pppppcStack_50 = (code *****)0x0;\n  ppppcStack_4c = (code ****)*puVar30;\n  ppppppcVar5 = param_3;\n  piStack_40 = param_1;\n  (*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))();\n  if (param_3 == (code ******)0x0) {\nLAB_00107118:\n    param_3 = *(code *******)(puVar39 + 0x5466c);\n    if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;\n    unaff_s3 = &pppppcStack_50;\n    param_4 = (code ******)0x0;\n    ppppppcVar21 = (code ******)0x3;\n    param_3 = param_3 + 0x1bee;\n    ppppppcVar5 = param_2;\n    FUN_00106fb8(unaff_s3);\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }\n  }\n  else {\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }\n  }\nLAB_001070d4:\n  if ((code *****)ppppcStack_4c == (code *****)*puVar30) {\n    return (code ******)pppppcStack_50;\n  }\n  pcVar40 = *(code **)(puVar39 + 0x549ac);\n  pppppcVar25 = (code *****)ppppcStack_4c;\n  (*pcVar40)();\n  pcStack_98 = pcVar40 + 0x5c3d0;\n  ppppppcVar31 = *(code *******)(pcVar40 + 0x5484c);\n  pppppcStack_8c = *ppppppcVar31;\n  pppppcStack_84 = (code *****)param_2;\n  puStack_80 = puVar30;\n  pppppcStack_7c = (code *****)param_3;\n  pppppcStack_78 = (code *****)unaff_s3;\n  if (pppppcVar25[10] == (code ****)0x0) {\n    param_4 = ppppppcVar5 + 1;\n    ppppppcVar38 = &pppppcStack_90;\n    ppppppcVar17 = (code ******)0x12;\n    ppppppcVar33 = (code ******)FUN_000f7f20();\n    pppppcVar29 = pppppcStack_90;\n    if (ppppppcVar33 == (code ******)0x0) {\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];\n    ppppppcVar17 = ppppppcVar5;\n    ppppppcVar38 = ppppppcVar21;\n    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);\n    if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }\n  }\nLAB_00107278:\n  if (pppppcStack_8c == *ppppppcVar31) {\n    return ppppppcVar33;\n  }\n  pcVar40 = *(code **)(pcStack_98 + -0x7ba0);\n  pcVar42 = FUN_00107430;\n  ppppppcVar23 = (code ******)pppppcStack_8c;\n  (*pcVar40)();\n  ppppppcVar35 = *(code *******)(pcVar40 + 0x545fc);\n  ppppppcVar26 = (code ******)*ppppppcVar23;\n  pppppcStack_c4 = *ppppppcVar35;\n  ppppppcVar32 = ppppppcVar23;\n  ppppppcVar28 = ppppppcVar17;\n  ppppcStack_c0 = (code ****)pppppcVar25;\n  pppppcStack_bc = (code *****)ppppppcVar31;\n  pppppcStack_b8 = (code *****)ppppppcVar33;\n  pppppcStack_b4 = (code *****)ppppppcVar5;\n  pppppcStack_b0 = (code *****)ppppppcVar21;\n  pcStack_ac = pcVar42;\n  if (ppppppcVar26 == (code ******)0x0) {\n    pppppcVar25 = ppppppcVar17[6];\n    param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);\n    ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);\n    ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2);\n    ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();\n    ppppppcVar21 = ppppppcVar23;\n    if (ppppppcVar31 == (code ******)0x0) {\n      *ppppppcVar23 = (code *****)0x7;\n    }\n    else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }\n  }\n  if (pppppcStack_c4 == *ppppppcVar35) {\n    return (code ******)*ppppppcVar35;\n  }\n  pcVar40 = *(code **)(pcVar40 + 0x545e0);\n  (*pcVar40)();\n  pcStack_148 = pcVar40 + 0x5bf88;\n  piVar27 = *(int **)(pcVar40 + 0x54404);\n  pppppcStack_11c = (code *****)*piVar27;\n  ppppppcVar5 = ppppppcVar32;\n  ppppppcVar33 = ppppppcVar38;\n  ppppppcVar23 = param_4;\n  pppppcStack_118 = (code *****)ppppppcVar26;\n  pppppcStack_114 = (code *****)ppppppcVar31;\n  pppppcStack_110 = (code *****)ppppppcVar35;\n  pppppcStack_10c = (code *****)ppppppcVar17;\n  pppppcStack_108 = (code *****)ppppppcVar21;\n  pppppcStack_104 = (code *****)unaff_s5;\n  if (*ppppppcVar32 == (code *****)0x0) {\n    ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);\n    ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);\n    ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);\n    ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);\n    ppppppcVar17 = ppppppcVar28;\n    unaff_s5 = ppppppcVar38;\n    unaff_s6 = param_4;\n    if (ppppppcVar35 == (code ******)0x0) {\n      *ppppppcVar32 = (code *****)0x7;\n    }\n    else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }\n  }\nLAB_0010767c:\n  if ((code ******)pppppcStack_11c == (code ******)*piVar27) {\n    return (code ******)*piVar27;\n  }\n  pcVar40 = *(code **)(pcStack_148 + -0x7ba0);\n  pcVar42 = FUN_00107a84;\n  (*pcVar40)();\n  pcStack_190 = pcVar40 + 0x5bb2c;\n  puVar30 = *(uint **)(pcVar40 + 0x53fa8);\n  ppppcStack_184 = (code ****)*puVar30;\n  piStack_17c = piVar27;\n  pppppcStack_178 = (code *****)ppppppcVar32;\n  pppppcStack_174 = (code *****)ppppppcVar35;\n  pppppcStack_170 = (code *****)ppppppcVar17;\n  pppppcStack_16c = (code *****)ppppppcVar21;\n  pppppcStack_168 = (code *****)unaff_s5;\n  pcStack_164 = pcVar42;\n  if (*(ushort *)(ppppppcVar5 + 1) < 2) {\n    iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);\n    if (iVar4 == 100) {\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }\n    else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }\n  }\n  else {\n    ppppppcVar32 = (code ******)ppppppcVar5[4];\n    pppppcStack_188 = (code *****)0x0;\n    if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }\n    pppppcVar25 = ppppppcVar5[8];\n    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }\n    ppppppcVar31 = (code ******)0x0;\n    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n  }\nLAB_00107b8c:\n  if ((code *****)ppppcStack_184 == (code *****)*puVar30) {\n    return ppppppcVar31;\n  }\n  pcVar42 = *(code **)(pcStack_190 + -0x7ba0);\n  pcVar43 = FUN_00107cac;\n  pppppcVar25 = (code *****)ppppcStack_184;\n  (*pcVar42)();\n  ppppppcVar38 = (code ******)pppppcStack_188;\n  pcVar40 = pcStack_190;\n  piVar18 = *(int **)(pcVar42 + 0x53d80);\n  ppppppcVar28 = (code ******)((int)((int)ppppppcVar23 + -2) * 4);\n  pppppcStack_218 = (code *****)0x0;\n  iStack_1cc = *piVar18;\n  cVar1 = *(char *)(*(int *)pcStack_190 + 3);\n  ppppcStack_214 = (code ****)0x0;\n  ppppppcVar26 = ppppppcVar33;\n  ppppppcVar35 = ppppppcVar23;\n  pppppcStack_1c8 = (code *****)ppppppcVar5;\n  pppppcStack_1c4 = (code *****)ppppppcVar32;\n  puStack_1c0 = puVar30;\n  pppppcStack_1bc = (code *****)ppppppcVar17;\n  pppppcStack_1b8 = (code *****)ppppppcVar21;\n  pppppcStack_1b4 = (code *****)unaff_s5;\n  pppppcStack_1b0 = (code *****)unaff_s6;\n  pppppcStack_1ac = (code *****)unaff_s7;\n  pppppcStack_1a8 = (code *****)unaff_s8;\n  pcStack_1a4 = pcVar43;\n  pppppcStack_1a0 = (code *****)ppppppcVar31;\n  iVar4 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4));\n  iVar6 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8));\n  ppppppcVar21 = ppppppcVar28;\n  piVar27 = (int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n  if (piVar27 != (int *)0x0) {\n    ppppppcVar26 = ppppppcVar28;\n    (**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);\n    ppppppcVar21 = ppppppcVar28;\n    iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n    if (iStack_284 != 0) {\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }\n  }\n  ppppppcVar28 = ppppppcVar26;\n  iStack_284 = 0;\n  iStack_278 = 0;\n  ppppppcVar5 = (code ******)0x0;\n  pppppcStack_218 = (code *****)&DAT_00000007;\nLAB_00107f4c:\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(iStack_278);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(piVar27);\n  (**(code **)(pcVar42 + 0x53974))(iStack_284);\n  if ((code ******)pppppcStack_218 == (code ******)0x0) {\n    *puStack_18c = ppppppcVar5;\n  }\n  else if (ppppppcVar5 == (code ******)0x0) {\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }\n  if (iStack_1cc == *piVar18) {\n    return (code ******)pppppcStack_218;\n  }\n  iVar4 = iStack_1cc;\n  (**(code **)(pcVar42 + 0x53d64))();\n  ppppppcVar21 = (code ******)\n                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c);\n  return ppppppcVar21;\n}" type_identifier (pointer_declarator "****** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" * (pointer_declarator "***** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" * (pointer_declarator "**** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" * (pointer_declarator "*** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" * (pointer_declarator "** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" * (pointer_declarator "* FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" * (function_declarator "FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" identifier (parameter_list "(int *param_1,code ******param_2,code ******param_3,code ******param_4)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "code ******param_2" type_identifier (pointer_declarator "******param_2" * (pointer_declarator "*****param_2" * (pointer_declarator "****param_2" * (pointer_declarator "***param_2" * (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier))))))) , (parameter_declaration "code ******param_3" type_identifier (pointer_declarator "******param_3" * (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier))))))) , (parameter_declaration "code ******param_4" type_identifier (pointer_declarator "******param_4" * (pointer_declarator "*****param_4" * (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier))))))) ))))))))) (compound_statement "{\n  char cVar1;\n  byte bVar2;\n  undefined *puVar3;\n  int iVar4;\n  code ******ppppppcVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  int iVar13;\n  uint *puVar14;\n  undefined4 uVar15;\n  int *piVar16;\n  code ******ppppppcVar17;\n  int *piVar18;\n  code *****pppppcVar19;\n  code cVar20;\n  code ******ppppppcVar21;\n  code *****pppppcVar22;\n  code ******ppppppcVar23;\n  undefined1 *puVar24;\n  code *****pppppcVar25;\n  code ******ppppppcVar26;\n  int *piVar27;\n  code ******ppppppcVar28;\n  code *****pppppcVar29;\n  uint *puVar30;\n  code ******ppppppcVar31;\n  code ******ppppppcVar32;\n  code ******ppppppcVar33;\n  code ****ppppcVar34;\n  code ******ppppppcVar35;\n  int iVar36;\n  code ******unaff_s3;\n  code *****pppppcVar37;\n  code ******unaff_s5;\n  code ******ppppppcVar38;\n  code ******unaff_s6;\n  code ******unaff_s7;\n  undefined *puVar39;\n  code *pcVar40;\n  code *pcVar41;\n  code ******unaff_s8;\n  code *pcVar42;\n  code *pcVar43;\n  undefined8 uVar44;\n  code *****in_stack_fffffd68;\n  int in_stack_fffffd6c;\n  int iStack_284;\n  int iStack_278;\n  code *****pppppcStack_218;\n  code ****ppppcStack_214;\n  code *****pppppcStack_210;\n  code ****appppcStack_20c [16];\n  int iStack_1cc;\n  code *****pppppcStack_1c8;\n  code *****pppppcStack_1c4;\n  uint *puStack_1c0;\n  code *****pppppcStack_1bc;\n  code *****pppppcStack_1b8;\n  code *****pppppcStack_1b4;\n  code *****pppppcStack_1b0;\n  code *****pppppcStack_1ac;\n  code *****pppppcStack_1a8;\n  code *pcStack_1a4;\n  code *****pppppcStack_1a0;\n  code *pcStack_190;\n  undefined4 *puStack_18c;\n  code *****pppppcStack_188;\n  code ****ppppcStack_184;\n  int *piStack_17c;\n  code *****pppppcStack_178;\n  code *****pppppcStack_174;\n  code *****pppppcStack_170;\n  code *****pppppcStack_16c;\n  code *****pppppcStack_168;\n  code *pcStack_164;\n  undefined4 uStack_150;\n  code *pcStack_148;\n  code *****pppppcStack_140;\n  code *pcStack_13c;\n  int iStack_138;\n  int iStack_134;\n  code ****ppppcStack_12c;\n  undefined1 auStack_128 [4];\n  code ****ppppcStack_124;\n  code *****pppppcStack_11c;\n  code *****pppppcStack_118;\n  code *****pppppcStack_114;\n  code *****pppppcStack_110;\n  code *****pppppcStack_10c;\n  code *****pppppcStack_108;\n  code *****pppppcStack_104;\n  int iStack_e0;\n  code *****pppppcStack_c8;\n  code *****pppppcStack_c4;\n  code ****ppppcStack_c0;\n  code *****pppppcStack_bc;\n  code *****pppppcStack_b8;\n  code *****pppppcStack_b4;\n  code *****pppppcStack_b0;\n  code *pcStack_ac;\n  code *pcStack_98;\n  code *****pppppcStack_90;\n  code *****pppppcStack_8c;\n  code *****pppppcStack_84;\n  uint *puStack_80;\n  code *****pppppcStack_7c;\n  code *****pppppcStack_78;\n  code *****pppppcStack_50;\n  code ****ppppcStack_4c;\n  undefined *puStack_44;\n  int *piStack_40;\n  code *****local_18;\n  code *****local_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  ppppppcVar21 = &local_18;\n  local_14 = *(code ******)PTR___stack_chk_guard_0015ba2c;\n  iVar4 = FUN_000f7f20();\n  if (iVar4 == 0) {\n    (*(code *)PTR_sqlite3_step_0015b630)(local_18);\n    iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    param_2 = (code ******)local_18;\n  }\n  *param_1 = iVar4;\n  ppppppcVar5 = *(code *******)puVar3;\n  if ((code ******)local_14 == ppppppcVar5) {\n    return ppppppcVar5;\n  }\n  puVar39 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_44 = puVar3;\n  puVar30 = *(uint **)(puVar39 + 0x549c8);\n  pppppcStack_50 = (code *****)0x0;\n  ppppcStack_4c = (code ****)*puVar30;\n  ppppppcVar5 = param_3;\n  piStack_40 = param_1;\n  (*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))();\n  if (param_3 == (code ******)0x0) {\nLAB_00107118:\n    param_3 = *(code *******)(puVar39 + 0x5466c);\n    if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;\n    unaff_s3 = &pppppcStack_50;\n    param_4 = (code ******)0x0;\n    ppppppcVar21 = (code ******)0x3;\n    param_3 = param_3 + 0x1bee;\n    ppppppcVar5 = param_2;\n    FUN_00106fb8(unaff_s3);\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }\n  }\n  else {\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }\n  }\nLAB_001070d4:\n  if ((code *****)ppppcStack_4c == (code *****)*puVar30) {\n    return (code ******)pppppcStack_50;\n  }\n  pcVar40 = *(code **)(puVar39 + 0x549ac);\n  pppppcVar25 = (code *****)ppppcStack_4c;\n  (*pcVar40)();\n  pcStack_98 = pcVar40 + 0x5c3d0;\n  ppppppcVar31 = *(code *******)(pcVar40 + 0x5484c);\n  pppppcStack_8c = *ppppppcVar31;\n  pppppcStack_84 = (code *****)param_2;\n  puStack_80 = puVar30;\n  pppppcStack_7c = (code *****)param_3;\n  pppppcStack_78 = (code *****)unaff_s3;\n  if (pppppcVar25[10] == (code ****)0x0) {\n    param_4 = ppppppcVar5 + 1;\n    ppppppcVar38 = &pppppcStack_90;\n    ppppppcVar17 = (code ******)0x12;\n    ppppppcVar33 = (code ******)FUN_000f7f20();\n    pppppcVar29 = pppppcStack_90;\n    if (ppppppcVar33 == (code ******)0x0) {\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];\n    ppppppcVar17 = ppppppcVar5;\n    ppppppcVar38 = ppppppcVar21;\n    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);\n    if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }\n  }\nLAB_00107278:\n  if (pppppcStack_8c == *ppppppcVar31) {\n    return ppppppcVar33;\n  }\n  pcVar40 = *(code **)(pcStack_98 + -0x7ba0);\n  pcVar42 = FUN_00107430;\n  ppppppcVar23 = (code ******)pppppcStack_8c;\n  (*pcVar40)();\n  ppppppcVar35 = *(code *******)(pcVar40 + 0x545fc);\n  ppppppcVar26 = (code ******)*ppppppcVar23;\n  pppppcStack_c4 = *ppppppcVar35;\n  ppppppcVar32 = ppppppcVar23;\n  ppppppcVar28 = ppppppcVar17;\n  ppppcStack_c0 = (code ****)pppppcVar25;\n  pppppcStack_bc = (code *****)ppppppcVar31;\n  pppppcStack_b8 = (code *****)ppppppcVar33;\n  pppppcStack_b4 = (code *****)ppppppcVar5;\n  pppppcStack_b0 = (code *****)ppppppcVar21;\n  pcStack_ac = pcVar42;\n  if (ppppppcVar26 == (code ******)0x0) {\n    pppppcVar25 = ppppppcVar17[6];\n    param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);\n    ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);\n    ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2);\n    ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();\n    ppppppcVar21 = ppppppcVar23;\n    if (ppppppcVar31 == (code ******)0x0) {\n      *ppppppcVar23 = (code *****)0x7;\n    }\n    else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }\n  }\n  if (pppppcStack_c4 == *ppppppcVar35) {\n    return (code ******)*ppppppcVar35;\n  }\n  pcVar40 = *(code **)(pcVar40 + 0x545e0);\n  (*pcVar40)();\n  pcStack_148 = pcVar40 + 0x5bf88;\n  piVar27 = *(int **)(pcVar40 + 0x54404);\n  pppppcStack_11c = (code *****)*piVar27;\n  ppppppcVar5 = ppppppcVar32;\n  ppppppcVar33 = ppppppcVar38;\n  ppppppcVar23 = param_4;\n  pppppcStack_118 = (code *****)ppppppcVar26;\n  pppppcStack_114 = (code *****)ppppppcVar31;\n  pppppcStack_110 = (code *****)ppppppcVar35;\n  pppppcStack_10c = (code *****)ppppppcVar17;\n  pppppcStack_108 = (code *****)ppppppcVar21;\n  pppppcStack_104 = (code *****)unaff_s5;\n  if (*ppppppcVar32 == (code *****)0x0) {\n    ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);\n    ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);\n    ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);\n    ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);\n    ppppppcVar17 = ppppppcVar28;\n    unaff_s5 = ppppppcVar38;\n    unaff_s6 = param_4;\n    if (ppppppcVar35 == (code ******)0x0) {\n      *ppppppcVar32 = (code *****)0x7;\n    }\n    else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }\n  }\nLAB_0010767c:\n  if ((code ******)pppppcStack_11c == (code ******)*piVar27) {\n    return (code ******)*piVar27;\n  }\n  pcVar40 = *(code **)(pcStack_148 + -0x7ba0);\n  pcVar42 = FUN_00107a84;\n  (*pcVar40)();\n  pcStack_190 = pcVar40 + 0x5bb2c;\n  puVar30 = *(uint **)(pcVar40 + 0x53fa8);\n  ppppcStack_184 = (code ****)*puVar30;\n  piStack_17c = piVar27;\n  pppppcStack_178 = (code *****)ppppppcVar32;\n  pppppcStack_174 = (code *****)ppppppcVar35;\n  pppppcStack_170 = (code *****)ppppppcVar17;\n  pppppcStack_16c = (code *****)ppppppcVar21;\n  pppppcStack_168 = (code *****)unaff_s5;\n  pcStack_164 = pcVar42;\n  if (*(ushort *)(ppppppcVar5 + 1) < 2) {\n    iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);\n    if (iVar4 == 100) {\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }\n    else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }\n  }\n  else {\n    ppppppcVar32 = (code ******)ppppppcVar5[4];\n    pppppcStack_188 = (code *****)0x0;\n    if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }\n    pppppcVar25 = ppppppcVar5[8];\n    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }\n    ppppppcVar31 = (code ******)0x0;\n    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n  }\nLAB_00107b8c:\n  if ((code *****)ppppcStack_184 == (code *****)*puVar30) {\n    return ppppppcVar31;\n  }\n  pcVar42 = *(code **)(pcStack_190 + -0x7ba0);\n  pcVar43 = FUN_00107cac;\n  pppppcVar25 = (code *****)ppppcStack_184;\n  (*pcVar42)();\n  ppppppcVar38 = (code ******)pppppcStack_188;\n  pcVar40 = pcStack_190;\n  piVar18 = *(int **)(pcVar42 + 0x53d80);\n  ppppppcVar28 = (code ******)((int)((int)ppppppcVar23 + -2) * 4);\n  pppppcStack_218 = (code *****)0x0;\n  iStack_1cc = *piVar18;\n  cVar1 = *(char *)(*(int *)pcStack_190 + 3);\n  ppppcStack_214 = (code ****)0x0;\n  ppppppcVar26 = ppppppcVar33;\n  ppppppcVar35 = ppppppcVar23;\n  pppppcStack_1c8 = (code *****)ppppppcVar5;\n  pppppcStack_1c4 = (code *****)ppppppcVar32;\n  puStack_1c0 = puVar30;\n  pppppcStack_1bc = (code *****)ppppppcVar17;\n  pppppcStack_1b8 = (code *****)ppppppcVar21;\n  pppppcStack_1b4 = (code *****)unaff_s5;\n  pppppcStack_1b0 = (code *****)unaff_s6;\n  pppppcStack_1ac = (code *****)unaff_s7;\n  pppppcStack_1a8 = (code *****)unaff_s8;\n  pcStack_1a4 = pcVar43;\n  pppppcStack_1a0 = (code *****)ppppppcVar31;\n  iVar4 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4));\n  iVar6 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8));\n  ppppppcVar21 = ppppppcVar28;\n  piVar27 = (int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n  if (piVar27 != (int *)0x0) {\n    ppppppcVar26 = ppppppcVar28;\n    (**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);\n    ppppppcVar21 = ppppppcVar28;\n    iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n    if (iStack_284 != 0) {\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }\n  }\n  ppppppcVar28 = ppppppcVar26;\n  iStack_284 = 0;\n  iStack_278 = 0;\n  ppppppcVar5 = (code ******)0x0;\n  pppppcStack_218 = (code *****)&DAT_00000007;\nLAB_00107f4c:\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(iStack_278);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(piVar27);\n  (**(code **)(pcVar42 + 0x53974))(iStack_284);\n  if ((code ******)pppppcStack_218 == (code ******)0x0) {\n    *puStack_18c = ppppppcVar5;\n  }\n  else if (ppppppcVar5 == (code ******)0x0) {\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }\n  if (iStack_1cc == *piVar18) {\n    return (code ******)pppppcStack_218;\n  }\n  iVar4 = iStack_1cc;\n  (**(code **)(pcVar42 + 0x53d64))();\n  ppppppcVar21 = (code ******)\n                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c);\n  return ppppppcVar21;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "code ******ppppppcVar5;" type_identifier (pointer_declarator "******ppppppcVar5" * (pointer_declarator "*****ppppppcVar5" * (pointer_declarator "****ppppppcVar5" * (pointer_declarator "***ppppppcVar5" * (pointer_declarator "**ppppppcVar5" * (pointer_declarator "*ppppppcVar5" * identifier)))))) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "code ******ppppppcVar17;" type_identifier (pointer_declarator "******ppppppcVar17" * (pointer_declarator "*****ppppppcVar17" * (pointer_declarator "****ppppppcVar17" * (pointer_declarator "***ppppppcVar17" * (pointer_declarator "**ppppppcVar17" * (pointer_declarator "*ppppppcVar17" * identifier)))))) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "code *****pppppcVar19;" type_identifier (pointer_declarator "*****pppppcVar19" * (pointer_declarator "****pppppcVar19" * (pointer_declarator "***pppppcVar19" * (pointer_declarator "**pppppcVar19" * (pointer_declarator "*pppppcVar19" * identifier))))) ;) (declaration "code cVar20;" type_identifier identifier ;) (declaration "code ******ppppppcVar21;" type_identifier (pointer_declarator "******ppppppcVar21" * (pointer_declarator "*****ppppppcVar21" * (pointer_declarator "****ppppppcVar21" * (pointer_declarator "***ppppppcVar21" * (pointer_declarator "**ppppppcVar21" * (pointer_declarator "*ppppppcVar21" * identifier)))))) ;) (declaration "code *****pppppcVar22;" type_identifier (pointer_declarator "*****pppppcVar22" * (pointer_declarator "****pppppcVar22" * (pointer_declarator "***pppppcVar22" * (pointer_declarator "**pppppcVar22" * (pointer_declarator "*pppppcVar22" * identifier))))) ;) (declaration "code ******ppppppcVar23;" type_identifier (pointer_declarator "******ppppppcVar23" * (pointer_declarator "*****ppppppcVar23" * (pointer_declarator "****ppppppcVar23" * (pointer_declarator "***ppppppcVar23" * (pointer_declarator "**ppppppcVar23" * (pointer_declarator "*ppppppcVar23" * identifier)))))) ;) (declaration "undefined1 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "code *****pppppcVar25;" type_identifier (pointer_declarator "*****pppppcVar25" * (pointer_declarator "****pppppcVar25" * (pointer_declarator "***pppppcVar25" * (pointer_declarator "**pppppcVar25" * (pointer_declarator "*pppppcVar25" * identifier))))) ;) (declaration "code ******ppppppcVar26;" type_identifier (pointer_declarator "******ppppppcVar26" * (pointer_declarator "*****ppppppcVar26" * (pointer_declarator "****ppppppcVar26" * (pointer_declarator "***ppppppcVar26" * (pointer_declarator "**ppppppcVar26" * (pointer_declarator "*ppppppcVar26" * identifier)))))) ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "code ******ppppppcVar28;" type_identifier (pointer_declarator "******ppppppcVar28" * (pointer_declarator "*****ppppppcVar28" * (pointer_declarator "****ppppppcVar28" * (pointer_declarator "***ppppppcVar28" * (pointer_declarator "**ppppppcVar28" * (pointer_declarator "*ppppppcVar28" * identifier)))))) ;) (declaration "code *****pppppcVar29;" type_identifier (pointer_declarator "*****pppppcVar29" * (pointer_declarator "****pppppcVar29" * (pointer_declarator "***pppppcVar29" * (pointer_declarator "**pppppcVar29" * (pointer_declarator "*pppppcVar29" * identifier))))) ;) (declaration "uint *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "code ******ppppppcVar31;" type_identifier (pointer_declarator "******ppppppcVar31" * (pointer_declarator "*****ppppppcVar31" * (pointer_declarator "****ppppppcVar31" * (pointer_declarator "***ppppppcVar31" * (pointer_declarator "**ppppppcVar31" * (pointer_declarator "*ppppppcVar31" * identifier)))))) ;) (declaration "code ******ppppppcVar32;" type_identifier (pointer_declarator "******ppppppcVar32" * (pointer_declarator "*****ppppppcVar32" * (pointer_declarator "****ppppppcVar32" * (pointer_declarator "***ppppppcVar32" * (pointer_declarator "**ppppppcVar32" * (pointer_declarator "*ppppppcVar32" * identifier)))))) ;) (declaration "code ******ppppppcVar33;" type_identifier (pointer_declarator "******ppppppcVar33" * (pointer_declarator "*****ppppppcVar33" * (pointer_declarator "****ppppppcVar33" * (pointer_declarator "***ppppppcVar33" * (pointer_declarator "**ppppppcVar33" * (pointer_declarator "*ppppppcVar33" * identifier)))))) ;) (declaration "code ****ppppcVar34;" type_identifier (pointer_declarator "****ppppcVar34" * (pointer_declarator "***ppppcVar34" * (pointer_declarator "**ppppcVar34" * (pointer_declarator "*ppppcVar34" * identifier)))) ;) (declaration "code ******ppppppcVar35;" type_identifier (pointer_declarator "******ppppppcVar35" * (pointer_declarator "*****ppppppcVar35" * (pointer_declarator "****ppppppcVar35" * (pointer_declarator "***ppppppcVar35" * (pointer_declarator "**ppppppcVar35" * (pointer_declarator "*ppppppcVar35" * identifier)))))) ;) (declaration "int iVar36;" primitive_type identifier ;) (declaration "code ******unaff_s3;" type_identifier (pointer_declarator "******unaff_s3" * (pointer_declarator "*****unaff_s3" * (pointer_declarator "****unaff_s3" * (pointer_declarator "***unaff_s3" * (pointer_declarator "**unaff_s3" * (pointer_declarator "*unaff_s3" * identifier)))))) ;) (declaration "code *****pppppcVar37;" type_identifier (pointer_declarator "*****pppppcVar37" * (pointer_declarator "****pppppcVar37" * (pointer_declarator "***pppppcVar37" * (pointer_declarator "**pppppcVar37" * (pointer_declarator "*pppppcVar37" * identifier))))) ;) (declaration "code ******unaff_s5;" type_identifier (pointer_declarator "******unaff_s5" * (pointer_declarator "*****unaff_s5" * (pointer_declarator "****unaff_s5" * (pointer_declarator "***unaff_s5" * (pointer_declarator "**unaff_s5" * (pointer_declarator "*unaff_s5" * identifier)))))) ;) (declaration "code ******ppppppcVar38;" type_identifier (pointer_declarator "******ppppppcVar38" * (pointer_declarator "*****ppppppcVar38" * (pointer_declarator "****ppppppcVar38" * (pointer_declarator "***ppppppcVar38" * (pointer_declarator "**ppppppcVar38" * (pointer_declarator "*ppppppcVar38" * identifier)))))) ;) (declaration "code ******unaff_s6;" type_identifier (pointer_declarator "******unaff_s6" * (pointer_declarator "*****unaff_s6" * (pointer_declarator "****unaff_s6" * (pointer_declarator "***unaff_s6" * (pointer_declarator "**unaff_s6" * (pointer_declarator "*unaff_s6" * identifier)))))) ;) (declaration "code ******unaff_s7;" type_identifier (pointer_declarator "******unaff_s7" * (pointer_declarator "*****unaff_s7" * (pointer_declarator "****unaff_s7" * (pointer_declarator "***unaff_s7" * (pointer_declarator "**unaff_s7" * (pointer_declarator "*unaff_s7" * identifier)))))) ;) (declaration "undefined *puVar39;" type_identifier (pointer_declarator "*puVar39" * identifier) ;) (declaration "code *pcVar40;" type_identifier (pointer_declarator "*pcVar40" * identifier) ;) (declaration "code *pcVar41;" type_identifier (pointer_declarator "*pcVar41" * identifier) ;) (declaration "code ******unaff_s8;" type_identifier (pointer_declarator "******unaff_s8" * (pointer_declarator "*****unaff_s8" * (pointer_declarator "****unaff_s8" * (pointer_declarator "***unaff_s8" * (pointer_declarator "**unaff_s8" * (pointer_declarator "*unaff_s8" * identifier)))))) ;) (declaration "code *pcVar42;" type_identifier (pointer_declarator "*pcVar42" * identifier) ;) (declaration "code *pcVar43;" type_identifier (pointer_declarator "*pcVar43" * identifier) ;) (declaration "undefined8 uVar44;" type_identifier identifier ;) (declaration "code *****in_stack_fffffd68;" type_identifier (pointer_declarator "*****in_stack_fffffd68" * (pointer_declarator "****in_stack_fffffd68" * (pointer_declarator "***in_stack_fffffd68" * (pointer_declarator "**in_stack_fffffd68" * (pointer_declarator "*in_stack_fffffd68" * identifier))))) ;) (declaration "int in_stack_fffffd6c;" primitive_type identifier ;) (declaration "int iStack_284;" primitive_type identifier ;) (declaration "int iStack_278;" primitive_type identifier ;) (declaration "code *****pppppcStack_218;" type_identifier (pointer_declarator "*****pppppcStack_218" * (pointer_declarator "****pppppcStack_218" * (pointer_declarator "***pppppcStack_218" * (pointer_declarator "**pppppcStack_218" * (pointer_declarator "*pppppcStack_218" * identifier))))) ;) (declaration "code ****ppppcStack_214;" type_identifier (pointer_declarator "****ppppcStack_214" * (pointer_declarator "***ppppcStack_214" * (pointer_declarator "**ppppcStack_214" * (pointer_declarator "*ppppcStack_214" * identifier)))) ;) (declaration "code *****pppppcStack_210;" type_identifier (pointer_declarator "*****pppppcStack_210" * (pointer_declarator "****pppppcStack_210" * (pointer_declarator "***pppppcStack_210" * (pointer_declarator "**pppppcStack_210" * (pointer_declarator "*pppppcStack_210" * identifier))))) ;) (declaration "code ****appppcStack_20c [16];" type_identifier (pointer_declarator "****appppcStack_20c [16]" * (pointer_declarator "***appppcStack_20c [16]" * (pointer_declarator "**appppcStack_20c [16]" * (pointer_declarator "*appppcStack_20c [16]" * (array_declarator "appppcStack_20c [16]" identifier [ number_literal ]))))) ;) (declaration "int iStack_1cc;" primitive_type identifier ;) (declaration "code *****pppppcStack_1c8;" type_identifier (pointer_declarator "*****pppppcStack_1c8" * (pointer_declarator "****pppppcStack_1c8" * (pointer_declarator "***pppppcStack_1c8" * (pointer_declarator "**pppppcStack_1c8" * (pointer_declarator "*pppppcStack_1c8" * identifier))))) ;) (declaration "code *****pppppcStack_1c4;" type_identifier (pointer_declarator "*****pppppcStack_1c4" * (pointer_declarator "****pppppcStack_1c4" * (pointer_declarator "***pppppcStack_1c4" * (pointer_declarator "**pppppcStack_1c4" * (pointer_declarator "*pppppcStack_1c4" * identifier))))) ;) (declaration "uint *puStack_1c0;" type_identifier (pointer_declarator "*puStack_1c0" * identifier) ;) (declaration "code *****pppppcStack_1bc;" type_identifier (pointer_declarator "*****pppppcStack_1bc" * (pointer_declarator "****pppppcStack_1bc" * (pointer_declarator "***pppppcStack_1bc" * (pointer_declarator "**pppppcStack_1bc" * (pointer_declarator "*pppppcStack_1bc" * identifier))))) ;) (declaration "code *****pppppcStack_1b8;" type_identifier (pointer_declarator "*****pppppcStack_1b8" * (pointer_declarator "****pppppcStack_1b8" * (pointer_declarator "***pppppcStack_1b8" * (pointer_declarator "**pppppcStack_1b8" * (pointer_declarator "*pppppcStack_1b8" * identifier))))) ;) (declaration "code *****pppppcStack_1b4;" type_identifier (pointer_declarator "*****pppppcStack_1b4" * (pointer_declarator "****pppppcStack_1b4" * (pointer_declarator "***pppppcStack_1b4" * (pointer_declarator "**pppppcStack_1b4" * (pointer_declarator "*pppppcStack_1b4" * identifier))))) ;) (declaration "code *****pppppcStack_1b0;" type_identifier (pointer_declarator "*****pppppcStack_1b0" * (pointer_declarator "****pppppcStack_1b0" * (pointer_declarator "***pppppcStack_1b0" * (pointer_declarator "**pppppcStack_1b0" * (pointer_declarator "*pppppcStack_1b0" * identifier))))) ;) (declaration "code *****pppppcStack_1ac;" type_identifier (pointer_declarator "*****pppppcStack_1ac" * (pointer_declarator "****pppppcStack_1ac" * (pointer_declarator "***pppppcStack_1ac" * (pointer_declarator "**pppppcStack_1ac" * (pointer_declarator "*pppppcStack_1ac" * identifier))))) ;) (declaration "code *****pppppcStack_1a8;" type_identifier (pointer_declarator "*****pppppcStack_1a8" * (pointer_declarator "****pppppcStack_1a8" * (pointer_declarator "***pppppcStack_1a8" * (pointer_declarator "**pppppcStack_1a8" * (pointer_declarator "*pppppcStack_1a8" * identifier))))) ;) (declaration "code *pcStack_1a4;" type_identifier (pointer_declarator "*pcStack_1a4" * identifier) ;) (declaration "code *****pppppcStack_1a0;" type_identifier (pointer_declarator "*****pppppcStack_1a0" * (pointer_declarator "****pppppcStack_1a0" * (pointer_declarator "***pppppcStack_1a0" * (pointer_declarator "**pppppcStack_1a0" * (pointer_declarator "*pppppcStack_1a0" * identifier))))) ;) (declaration "code *pcStack_190;" type_identifier (pointer_declarator "*pcStack_190" * identifier) ;) (declaration "undefined4 *puStack_18c;" type_identifier (pointer_declarator "*puStack_18c" * identifier) ;) (declaration "code *****pppppcStack_188;" type_identifier (pointer_declarator "*****pppppcStack_188" * (pointer_declarator "****pppppcStack_188" * (pointer_declarator "***pppppcStack_188" * (pointer_declarator "**pppppcStack_188" * (pointer_declarator "*pppppcStack_188" * identifier))))) ;) (declaration "code ****ppppcStack_184;" type_identifier (pointer_declarator "****ppppcStack_184" * (pointer_declarator "***ppppcStack_184" * (pointer_declarator "**ppppcStack_184" * (pointer_declarator "*ppppcStack_184" * identifier)))) ;) (declaration "int *piStack_17c;" primitive_type (pointer_declarator "*piStack_17c" * identifier) ;) (declaration "code *****pppppcStack_178;" type_identifier (pointer_declarator "*****pppppcStack_178" * (pointer_declarator "****pppppcStack_178" * (pointer_declarator "***pppppcStack_178" * (pointer_declarator "**pppppcStack_178" * (pointer_declarator "*pppppcStack_178" * identifier))))) ;) (declaration "code *****pppppcStack_174;" type_identifier (pointer_declarator "*****pppppcStack_174" * (pointer_declarator "****pppppcStack_174" * (pointer_declarator "***pppppcStack_174" * (pointer_declarator "**pppppcStack_174" * (pointer_declarator "*pppppcStack_174" * identifier))))) ;) (declaration "code *****pppppcStack_170;" type_identifier (pointer_declarator "*****pppppcStack_170" * (pointer_declarator "****pppppcStack_170" * (pointer_declarator "***pppppcStack_170" * (pointer_declarator "**pppppcStack_170" * (pointer_declarator "*pppppcStack_170" * identifier))))) ;) (declaration "code *****pppppcStack_16c;" type_identifier (pointer_declarator "*****pppppcStack_16c" * (pointer_declarator "****pppppcStack_16c" * (pointer_declarator "***pppppcStack_16c" * (pointer_declarator "**pppppcStack_16c" * (pointer_declarator "*pppppcStack_16c" * identifier))))) ;) (declaration "code *****pppppcStack_168;" type_identifier (pointer_declarator "*****pppppcStack_168" * (pointer_declarator "****pppppcStack_168" * (pointer_declarator "***pppppcStack_168" * (pointer_declarator "**pppppcStack_168" * (pointer_declarator "*pppppcStack_168" * identifier))))) ;) (declaration "code *pcStack_164;" type_identifier (pointer_declarator "*pcStack_164" * identifier) ;) (declaration "undefined4 uStack_150;" type_identifier identifier ;) (declaration "code *pcStack_148;" type_identifier (pointer_declarator "*pcStack_148" * identifier) ;) (declaration "code *****pppppcStack_140;" type_identifier (pointer_declarator "*****pppppcStack_140" * (pointer_declarator "****pppppcStack_140" * (pointer_declarator "***pppppcStack_140" * (pointer_declarator "**pppppcStack_140" * (pointer_declarator "*pppppcStack_140" * identifier))))) ;) (declaration "code *pcStack_13c;" type_identifier (pointer_declarator "*pcStack_13c" * identifier) ;) (declaration "int iStack_138;" primitive_type identifier ;) (declaration "int iStack_134;" primitive_type identifier ;) (declaration "code ****ppppcStack_12c;" type_identifier (pointer_declarator "****ppppcStack_12c" * (pointer_declarator "***ppppcStack_12c" * (pointer_declarator "**ppppcStack_12c" * (pointer_declarator "*ppppcStack_12c" * identifier)))) ;) (declaration "undefined1 auStack_128 [4];" type_identifier (array_declarator "auStack_128 [4]" identifier [ number_literal ]) ;) (declaration "code ****ppppcStack_124;" type_identifier (pointer_declarator "****ppppcStack_124" * (pointer_declarator "***ppppcStack_124" * (pointer_declarator "**ppppcStack_124" * (pointer_declarator "*ppppcStack_124" * identifier)))) ;) (declaration "code *****pppppcStack_11c;" type_identifier (pointer_declarator "*****pppppcStack_11c" * (pointer_declarator "****pppppcStack_11c" * (pointer_declarator "***pppppcStack_11c" * (pointer_declarator "**pppppcStack_11c" * (pointer_declarator "*pppppcStack_11c" * identifier))))) ;) (declaration "code *****pppppcStack_118;" type_identifier (pointer_declarator "*****pppppcStack_118" * (pointer_declarator "****pppppcStack_118" * (pointer_declarator "***pppppcStack_118" * (pointer_declarator "**pppppcStack_118" * (pointer_declarator "*pppppcStack_118" * identifier))))) ;) (declaration "code *****pppppcStack_114;" type_identifier (pointer_declarator "*****pppppcStack_114" * (pointer_declarator "****pppppcStack_114" * (pointer_declarator "***pppppcStack_114" * (pointer_declarator "**pppppcStack_114" * (pointer_declarator "*pppppcStack_114" * identifier))))) ;) (declaration "code *****pppppcStack_110;" type_identifier (pointer_declarator "*****pppppcStack_110" * (pointer_declarator "****pppppcStack_110" * (pointer_declarator "***pppppcStack_110" * (pointer_declarator "**pppppcStack_110" * (pointer_declarator "*pppppcStack_110" * identifier))))) ;) (declaration "code *****pppppcStack_10c;" type_identifier (pointer_declarator "*****pppppcStack_10c" * (pointer_declarator "****pppppcStack_10c" * (pointer_declarator "***pppppcStack_10c" * (pointer_declarator "**pppppcStack_10c" * (pointer_declarator "*pppppcStack_10c" * identifier))))) ;) (declaration "code *****pppppcStack_108;" type_identifier (pointer_declarator "*****pppppcStack_108" * (pointer_declarator "****pppppcStack_108" * (pointer_declarator "***pppppcStack_108" * (pointer_declarator "**pppppcStack_108" * (pointer_declarator "*pppppcStack_108" * identifier))))) ;) (declaration "code *****pppppcStack_104;" type_identifier (pointer_declarator "*****pppppcStack_104" * (pointer_declarator "****pppppcStack_104" * (pointer_declarator "***pppppcStack_104" * (pointer_declarator "**pppppcStack_104" * (pointer_declarator "*pppppcStack_104" * identifier))))) ;) (declaration "int iStack_e0;" primitive_type identifier ;) (declaration "code *****pppppcStack_c8;" type_identifier (pointer_declarator "*****pppppcStack_c8" * (pointer_declarator "****pppppcStack_c8" * (pointer_declarator "***pppppcStack_c8" * (pointer_declarator "**pppppcStack_c8" * (pointer_declarator "*pppppcStack_c8" * identifier))))) ;) (declaration "code *****pppppcStack_c4;" type_identifier (pointer_declarator "*****pppppcStack_c4" * (pointer_declarator "****pppppcStack_c4" * (pointer_declarator "***pppppcStack_c4" * (pointer_declarator "**pppppcStack_c4" * (pointer_declarator "*pppppcStack_c4" * identifier))))) ;) (declaration "code ****ppppcStack_c0;" type_identifier (pointer_declarator "****ppppcStack_c0" * (pointer_declarator "***ppppcStack_c0" * (pointer_declarator "**ppppcStack_c0" * (pointer_declarator "*ppppcStack_c0" * identifier)))) ;) (declaration "code *****pppppcStack_bc;" type_identifier (pointer_declarator "*****pppppcStack_bc" * (pointer_declarator "****pppppcStack_bc" * (pointer_declarator "***pppppcStack_bc" * (pointer_declarator "**pppppcStack_bc" * (pointer_declarator "*pppppcStack_bc" * identifier))))) ;) (declaration "code *****pppppcStack_b8;" type_identifier (pointer_declarator "*****pppppcStack_b8" * (pointer_declarator "****pppppcStack_b8" * (pointer_declarator "***pppppcStack_b8" * (pointer_declarator "**pppppcStack_b8" * (pointer_declarator "*pppppcStack_b8" * identifier))))) ;) (declaration "code *****pppppcStack_b4;" type_identifier (pointer_declarator "*****pppppcStack_b4" * (pointer_declarator "****pppppcStack_b4" * (pointer_declarator "***pppppcStack_b4" * (pointer_declarator "**pppppcStack_b4" * (pointer_declarator "*pppppcStack_b4" * identifier))))) ;) (declaration "code *****pppppcStack_b0;" type_identifier (pointer_declarator "*****pppppcStack_b0" * (pointer_declarator "****pppppcStack_b0" * (pointer_declarator "***pppppcStack_b0" * (pointer_declarator "**pppppcStack_b0" * (pointer_declarator "*pppppcStack_b0" * identifier))))) ;) (declaration "code *pcStack_ac;" type_identifier (pointer_declarator "*pcStack_ac" * identifier) ;) (declaration "code *pcStack_98;" type_identifier (pointer_declarator "*pcStack_98" * identifier) ;) (declaration "code *****pppppcStack_90;" type_identifier (pointer_declarator "*****pppppcStack_90" * (pointer_declarator "****pppppcStack_90" * (pointer_declarator "***pppppcStack_90" * (pointer_declarator "**pppppcStack_90" * (pointer_declarator "*pppppcStack_90" * identifier))))) ;) (declaration "code *****pppppcStack_8c;" type_identifier (pointer_declarator "*****pppppcStack_8c" * (pointer_declarator "****pppppcStack_8c" * (pointer_declarator "***pppppcStack_8c" * (pointer_declarator "**pppppcStack_8c" * (pointer_declarator "*pppppcStack_8c" * identifier))))) ;) (declaration "code *****pppppcStack_84;" type_identifier (pointer_declarator "*****pppppcStack_84" * (pointer_declarator "****pppppcStack_84" * (pointer_declarator "***pppppcStack_84" * (pointer_declarator "**pppppcStack_84" * (pointer_declarator "*pppppcStack_84" * identifier))))) ;) (declaration "uint *puStack_80;" type_identifier (pointer_declarator "*puStack_80" * identifier) ;) (declaration "code *****pppppcStack_7c;" type_identifier (pointer_declarator "*****pppppcStack_7c" * (pointer_declarator "****pppppcStack_7c" * (pointer_declarator "***pppppcStack_7c" * (pointer_declarator "**pppppcStack_7c" * (pointer_declarator "*pppppcStack_7c" * identifier))))) ;) (declaration "code *****pppppcStack_78;" type_identifier (pointer_declarator "*****pppppcStack_78" * (pointer_declarator "****pppppcStack_78" * (pointer_declarator "***pppppcStack_78" * (pointer_declarator "**pppppcStack_78" * (pointer_declarator "*pppppcStack_78" * identifier))))) ;) (declaration "code *****pppppcStack_50;" type_identifier (pointer_declarator "*****pppppcStack_50" * (pointer_declarator "****pppppcStack_50" * (pointer_declarator "***pppppcStack_50" * (pointer_declarator "**pppppcStack_50" * (pointer_declarator "*pppppcStack_50" * identifier))))) ;) (declaration "code ****ppppcStack_4c;" type_identifier (pointer_declarator "****ppppcStack_4c" * (pointer_declarator "***ppppcStack_4c" * (pointer_declarator "**ppppcStack_4c" * (pointer_declarator "*ppppcStack_4c" * identifier)))) ;) (declaration "undefined *puStack_44;" type_identifier (pointer_declarator "*puStack_44" * identifier) ;) (declaration "int *piStack_40;" primitive_type (pointer_declarator "*piStack_40" * identifier) ;) (declaration "code *****local_18;" type_identifier (pointer_declarator "*****local_18" * (pointer_declarator "****local_18" * (pointer_declarator "***local_18" * (pointer_declarator "**local_18" * (pointer_declarator "*local_18" * identifier))))) ;) (declaration "code *****local_14;" type_identifier (pointer_declarator "*****local_14" * (pointer_declarator "****local_14" * (pointer_declarator "***local_14" * (pointer_declarator "**local_14" * (pointer_declarator "*local_14" * identifier))))) ;) (expression_statement "puVar3 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar3 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "ppppppcVar21 = &local_18;" (assignment_expression "ppppppcVar21 = &local_18" identifier = (pointer_expression "&local_18" & identifier)) ;) (expression_statement "local_14 = *(code ******)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_14 = *(code ******)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(code ******)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(code ******)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier))) ;) (expression_statement "iVar4 = FUN_000f7f20();" (assignment_expression "iVar4 = FUN_000f7f20()" identifier = (call_expression "FUN_000f7f20()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n    (*(code *)PTR_sqlite3_step_0015b630)(local_18);\n    iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    param_2 = (code ******)local_18;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR_sqlite3_step_0015b630)(local_18);\n    iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    param_2 = (code ******)local_18;\n  }" { (expression_statement "(*(code *)PTR_sqlite3_step_0015b630)(local_18);" (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(local_18)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" ( (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" * (cast_expression "(code *)PTR_sqlite3_step_0015b630" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_18)" ( identifier ))) ;) (expression_statement "iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();" (assignment_expression "iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)()" identifier = (call_expression "(*(code *)PTR_sqlite3_reset_0015b648)()" (parenthesized_expression "(*(code *)PTR_sqlite3_reset_0015b648)" ( (pointer_expression "*(code *)PTR_sqlite3_reset_0015b648" * (cast_expression "(code *)PTR_sqlite3_reset_0015b648" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "param_2 = (code ******)local_18;" (assignment_expression "param_2 = (code ******)local_18" identifier = (cast_expression "(code ******)local_18" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) })) (expression_statement "*param_1 = iVar4;" (assignment_expression "*param_1 = iVar4" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "ppppppcVar5 = *(code *******)puVar3;" (assignment_expression "ppppppcVar5 = *(code *******)puVar3" identifier = (pointer_expression "*(code *******)puVar3" * (cast_expression "(code *******)puVar3" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ;) (if_statement "if ((code ******)local_14 == ppppppcVar5) {\n    return ppppppcVar5;\n  }" if (parenthesized_expression "((code ******)local_14 == ppppppcVar5)" ( (binary_expression "(code ******)local_14 == ppppppcVar5" (cast_expression "(code ******)local_14" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == identifier) )) (compound_statement "{\n    return ppppppcVar5;\n  }" { (return_statement "return ppppppcVar5;" return identifier ;) })) (expression_statement "puVar39 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar39 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_44 = puVar3;" (assignment_expression "puStack_44 = puVar3" identifier = identifier) ;) (expression_statement "puVar30 = *(uint **)(puVar39 + 0x549c8);" (assignment_expression "puVar30 = *(uint **)(puVar39 + 0x549c8)" identifier = (pointer_expression "*(uint **)(puVar39 + 0x549c8)" * (cast_expression "(uint **)(puVar39 + 0x549c8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar39 + 0x549c8)" ( (binary_expression "puVar39 + 0x549c8" identifier + number_literal) ))))) ;) (expression_statement "pppppcStack_50 = (code *****)0x0;" (assignment_expression "pppppcStack_50 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppcStack_4c = (code ****)*puVar30;" (assignment_expression "ppppcStack_4c = (code ****)*puVar30" identifier = (cast_expression "(code ****)*puVar30" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*puVar30" * identifier))) ;) (expression_statement "ppppppcVar5 = param_3;" (assignment_expression "ppppppcVar5 = param_3" identifier = identifier) ;) (expression_statement "piStack_40 = param_1;" (assignment_expression "piStack_40 = param_1" identifier = identifier) ;) (expression_statement "(*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))();" (call_expression "(*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))()" (parenthesized_expression "(*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))" ( (pointer_expression "*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4)" * (cast_expression "(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar39 + 0x54674) + -0x38a4)" ( (binary_expression "*(int *)(puVar39 + 0x54674) + -0x38a4" (pointer_expression "*(int *)(puVar39 + 0x54674)" * (cast_expression "(int *)(puVar39 + 0x54674)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar39 + 0x54674)" ( (binary_expression "puVar39 + 0x54674" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (if_statement "if (param_3 == (code ******)0x0) {\nLAB_00107118:\n    param_3 = *(code *******)(puVar39 + 0x5466c);\n    if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;\n    unaff_s3 = &pppppcStack_50;\n    param_4 = (code ******)0x0;\n    ppppppcVar21 = (code ******)0x3;\n    param_3 = param_3 + 0x1bee;\n    ppppppcVar5 = param_2;\n    FUN_00106fb8(unaff_s3);\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }\n  }\n  else {\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }\n  }" if (parenthesized_expression "(param_3 == (code ******)0x0)" ( (binary_expression "param_3 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\nLAB_00107118:\n    param_3 = *(code *******)(puVar39 + 0x5466c);\n    if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;\n    unaff_s3 = &pppppcStack_50;\n    param_4 = (code ******)0x0;\n    ppppppcVar21 = (code ******)0x3;\n    param_3 = param_3 + 0x1bee;\n    ppppppcVar5 = param_2;\n    FUN_00106fb8(unaff_s3);\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }\n  }" { (labeled_statement "LAB_00107118:\n    param_3 = *(code *******)(puVar39 + 0x5466c);" statement_identifier : (expression_statement "param_3 = *(code *******)(puVar39 + 0x5466c);" (assignment_expression "param_3 = *(code *******)(puVar39 + 0x5466c)" identifier = (pointer_expression "*(code *******)(puVar39 + 0x5466c)" * (cast_expression "(code *******)(puVar39 + 0x5466c)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar39 + 0x5466c)" ( (binary_expression "puVar39 + 0x5466c" identifier + number_literal) ))))) ;)) (if_statement "if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;" if (parenthesized_expression "((code ******)pppppcStack_50 != (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_50 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_50" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_001070c8;" goto statement_identifier ;)) (expression_statement "unaff_s3 = &pppppcStack_50;" (assignment_expression "unaff_s3 = &pppppcStack_50" identifier = (pointer_expression "&pppppcStack_50" & identifier)) ;) (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar21 = (code ******)0x3;" (assignment_expression "ppppppcVar21 = (code ******)0x3" identifier = (cast_expression "(code ******)0x3" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "param_3 = param_3 + 0x1bee;" (assignment_expression "param_3 = param_3 + 0x1bee" identifier = (binary_expression "param_3 + 0x1bee" identifier + number_literal)) ;) (expression_statement "ppppppcVar5 = param_2;" (assignment_expression "ppppppcVar5 = param_2" identifier = identifier) ;) (expression_statement "FUN_00106fb8(unaff_s3);" (call_expression "FUN_00106fb8(unaff_s3)" identifier (argument_list "(unaff_s3)" ( identifier ))) ;) (if_statement "if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }" if (parenthesized_expression "((code ******)pppppcStack_50 == (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_50 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_50" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }" { (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar21 = (code ******)&DAT_00000004;" (assignment_expression "ppppppcVar21 = (code ******)&DAT_00000004" identifier = (cast_expression "(code ******)&DAT_00000004" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000004" & identifier))) ;) (expression_statement "ppppppcVar5 = param_2;" (assignment_expression "ppppppcVar5 = param_2" identifier = identifier) ;) (expression_statement "FUN_00106fb8(unaff_s3);" (call_expression "FUN_00106fb8(unaff_s3)" identifier (argument_list "(unaff_s3)" ( identifier ))) ;) (if_statement "if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }" if (parenthesized_expression "(*(code *)((int)param_2 + 0xea) != (code)0x0)" ( (binary_expression "*(code *)((int)param_2 + 0xea) != (code)0x0" (pointer_expression "*(code *)((int)param_2 + 0xea)" * (cast_expression "(code *)((int)param_2 + 0xea)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0xea)" ( (binary_expression "(int)param_2 + 0xea" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }" { (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;" if (parenthesized_expression "((code ******)pppppcStack_50 != (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_50 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_50" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_001070d4;" goto statement_identifier ;)) (expression_statement "ppppppcVar21 = (code ******)&DAT_00000005;" (assignment_expression "ppppppcVar21 = (code ******)&DAT_00000005" identifier = (cast_expression "(code ******)&DAT_00000005" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000005" & identifier))) ;) (expression_statement "ppppppcVar5 = param_2;" (assignment_expression "ppppppcVar5 = param_2" identifier = identifier) ;) (expression_statement "FUN_00106fb8(unaff_s3);" (call_expression "FUN_00106fb8(unaff_s3)" identifier (argument_list "(unaff_s3)" ( identifier ))) ;) })) (goto_statement "goto LAB_0010719c;" goto statement_identifier ;) })) }) (else_clause "else {\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }\n  }" else (compound_statement "{\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }\n  }" { (if_statement "if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }" if (parenthesized_expression "((code ******)pppppcStack_50 == (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_50 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_50" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }" { (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar21 = (code ******)&SUB_00000002;" (assignment_expression "ppppppcVar21 = (code ******)&SUB_00000002" identifier = (cast_expression "(code ******)&SUB_00000002" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "ppppppcVar5 = param_2;" (assignment_expression "ppppppcVar5 = param_2" identifier = identifier) ;) (expression_statement "FUN_00106fb8(&pppppcStack_50);" (call_expression "FUN_00106fb8(&pppppcStack_50)" identifier (argument_list "(&pppppcStack_50)" ( (pointer_expression "&pppppcStack_50" & identifier) ))) ;) (goto_statement "goto LAB_00107118;" goto statement_identifier ;) })) (labeled_statement "LAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }" statement_identifier : (if_statement "if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }" if (parenthesized_expression "(*(code *)((int)param_2 + 0xea) == (code)0x0)" ( (binary_expression "*(code *)((int)param_2 + 0xea) == (code)0x0" (pointer_expression "*(code *)((int)param_2 + 0xea)" * (cast_expression "(code *)((int)param_2 + 0xea)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0xea)" ( (binary_expression "(int)param_2 + 0xea" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }" { (labeled_statement "LAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }" statement_identifier : (if_statement "if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }" if (parenthesized_expression "((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0))" ( (binary_expression "(*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)" (parenthesized_expression "(*(code *)((int)param_2 + 0xe9) != (code)0x0)" ( (binary_expression "*(code *)((int)param_2 + 0xe9) != (code)0x0" (pointer_expression "*(code *)((int)param_2 + 0xe9)" * (cast_expression "(code *)((int)param_2 + 0xe9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0xe9)" ( (binary_expression "(int)param_2 + 0xe9" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) && (parenthesized_expression "((code ******)pppppcStack_50 == (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_50 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_50" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) )) (compound_statement "{\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }" { (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar21 = (code ******)&DAT_00000006;" (assignment_expression "ppppppcVar21 = (code ******)&DAT_00000006" identifier = (cast_expression "(code ******)&DAT_00000006" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000006" & identifier))) ;) (expression_statement "ppppppcVar5 = param_2;" (assignment_expression "ppppppcVar5 = param_2" identifier = identifier) ;) (expression_statement "FUN_00106fb8(&pppppcStack_50);" (call_expression "FUN_00106fb8(&pppppcStack_50)" identifier (argument_list "(&pppppcStack_50)" ( (pointer_expression "&pppppcStack_50" & identifier) ))) ;) }))) }))) }))) (labeled_statement "LAB_001070d4:\n  if ((code *****)ppppcStack_4c == (code *****)*puVar30) {\n    return (code ******)pppppcStack_50;\n  }" statement_identifier : (if_statement "if ((code *****)ppppcStack_4c == (code *****)*puVar30) {\n    return (code ******)pppppcStack_50;\n  }" if (parenthesized_expression "((code *****)ppppcStack_4c == (code *****)*puVar30)" ( (binary_expression "(code *****)ppppcStack_4c == (code *****)*puVar30" (cast_expression "(code *****)ppppcStack_4c" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(code *****)*puVar30" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*puVar30" * identifier))) )) (compound_statement "{\n    return (code ******)pppppcStack_50;\n  }" { (return_statement "return (code ******)pppppcStack_50;" return (cast_expression "(code ******)pppppcStack_50" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) ;) }))) (expression_statement "pcVar40 = *(code **)(puVar39 + 0x549ac);" (assignment_expression "pcVar40 = *(code **)(puVar39 + 0x549ac)" identifier = (pointer_expression "*(code **)(puVar39 + 0x549ac)" * (cast_expression "(code **)(puVar39 + 0x549ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar39 + 0x549ac)" ( (binary_expression "puVar39 + 0x549ac" identifier + number_literal) ))))) ;) (expression_statement "pppppcVar25 = (code *****)ppppcStack_4c;" (assignment_expression "pppppcVar25 = (code *****)ppppcStack_4c" identifier = (cast_expression "(code *****)ppppcStack_4c" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_98 = pcVar40 + 0x5c3d0;" (assignment_expression "pcStack_98 = pcVar40 + 0x5c3d0" identifier = (binary_expression "pcVar40 + 0x5c3d0" identifier + number_literal)) ;) (expression_statement "ppppppcVar31 = *(code *******)(pcVar40 + 0x5484c);" (assignment_expression "ppppppcVar31 = *(code *******)(pcVar40 + 0x5484c)" identifier = (pointer_expression "*(code *******)(pcVar40 + 0x5484c)" * (cast_expression "(code *******)(pcVar40 + 0x5484c)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(pcVar40 + 0x5484c)" ( (binary_expression "pcVar40 + 0x5484c" identifier + number_literal) ))))) ;) (expression_statement "pppppcStack_8c = *ppppppcVar31;" (assignment_expression "pppppcStack_8c = *ppppppcVar31" identifier = (pointer_expression "*ppppppcVar31" * identifier)) ;) (expression_statement "pppppcStack_84 = (code *****)param_2;" (assignment_expression "pppppcStack_84 = (code *****)param_2" identifier = (cast_expression "(code *****)param_2" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "puStack_80 = puVar30;" (assignment_expression "puStack_80 = puVar30" identifier = identifier) ;) (expression_statement "pppppcStack_7c = (code *****)param_3;" (assignment_expression "pppppcStack_7c = (code *****)param_3" identifier = (cast_expression "(code *****)param_3" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_78 = (code *****)unaff_s3;" (assignment_expression "pppppcStack_78 = (code *****)unaff_s3" identifier = (cast_expression "(code *****)unaff_s3" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if (pppppcVar25[10] == (code ****)0x0) {\n    param_4 = ppppppcVar5 + 1;\n    ppppppcVar38 = &pppppcStack_90;\n    ppppppcVar17 = (code ******)0x12;\n    ppppppcVar33 = (code ******)FUN_000f7f20();\n    pppppcVar29 = pppppcStack_90;\n    if (ppppppcVar33 == (code ******)0x0) {\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];\n    ppppppcVar17 = ppppppcVar5;\n    ppppppcVar38 = ppppppcVar21;\n    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);\n    if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }\n  }" if (parenthesized_expression "(pppppcVar25[10] == (code ****)0x0)" ( (binary_expression "pppppcVar25[10] == (code ****)0x0" (subscript_expression "pppppcVar25[10]" identifier [ number_literal ]) == (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    param_4 = ppppppcVar5 + 1;\n    ppppppcVar38 = &pppppcStack_90;\n    ppppppcVar17 = (code ******)0x12;\n    ppppppcVar33 = (code ******)FUN_000f7f20();\n    pppppcVar29 = pppppcStack_90;\n    if (ppppppcVar33 == (code ******)0x0) {\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }" { (expression_statement "param_4 = ppppppcVar5 + 1;" (assignment_expression "param_4 = ppppppcVar5 + 1" identifier = (binary_expression "ppppppcVar5 + 1" identifier + number_literal)) ;) (expression_statement "ppppppcVar38 = &pppppcStack_90;" (assignment_expression "ppppppcVar38 = &pppppcStack_90" identifier = (pointer_expression "&pppppcStack_90" & identifier)) ;) (expression_statement "ppppppcVar17 = (code ******)0x12;" (assignment_expression "ppppppcVar17 = (code ******)0x12" identifier = (cast_expression "(code ******)0x12" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar33 = (code ******)FUN_000f7f20();" (assignment_expression "ppppppcVar33 = (code ******)FUN_000f7f20()" identifier = (cast_expression "(code ******)FUN_000f7f20()" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000f7f20()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pppppcVar29 = pppppcStack_90;" (assignment_expression "pppppcVar29 = pppppcStack_90" identifier = identifier) ;) (if_statement "if (ppppppcVar33 == (code ******)0x0) {\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }" if (parenthesized_expression "(ppppppcVar33 == (code ******)0x0)" ( (binary_expression "ppppppcVar33 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }" { (expression_statement "ppppcVar34 = pppppcVar25[6];" (assignment_expression "ppppcVar34 = pppppcVar25[6]" identifier = (subscript_expression "pppppcVar25[6]" identifier [ number_literal ])) ;) (if_statement "if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }" if (parenthesized_expression "(pppppcVar25[0xb] != (code ****)0x0)" ( (binary_expression "pppppcVar25[0xb] != (code ****)0x0" (subscript_expression "pppppcVar25[0xb]" identifier [ number_literal ]) != (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }" { (expression_statement "ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);" (assignment_expression "ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)])" identifier = (cast_expression "(code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)])" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)])" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7e7c))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7e7c)" * (pointer_expression "*(code **)(pcStack_98 + -0x7e7c)" * (cast_expression "(code **)(pcStack_98 + -0x7e7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7e7c)" ( (binary_expression "pcStack_98 + -0x7e7c" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5[(int)(ppppcVar34 + 1)])" ( (subscript_expression "ppppppcVar5[(int)(ppppcVar34 + 1)]" identifier [ (cast_expression "(int)(ppppcVar34 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppppcVar34 + 1)" ( (binary_expression "ppppcVar34 + 1" identifier + number_literal) ))) ]) ))))) ;) (expression_statement "ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);" (assignment_expression "ppppppcVar17 = (code ******)((int)ppppcVar34 + 2)" identifier = (cast_expression "(code ******)((int)ppppcVar34 + 2)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppcVar34 + 2)" ( (binary_expression "(int)ppppcVar34 + 2" (cast_expression "(int)ppppcVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);" (assignment_expression "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29)" identifier = (cast_expression "(code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7d0c))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7d0c)" * (pointer_expression "*(code **)(pcStack_98 + -0x7d0c)" * (cast_expression "(code **)(pcStack_98 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7d0c)" ( (binary_expression "pcStack_98 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(pppppcVar29)" ( identifier ))))) ;) (expression_statement "unaff_s5 = (code ******)pppppcVar29;" (assignment_expression "unaff_s5 = (code ******)pppppcVar29" identifier = (cast_expression "(code ******)pppppcVar29" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (if_statement "if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;" if (parenthesized_expression "(ppppppcVar33 != (code ******)0x0)" ( (binary_expression "ppppppcVar33 != (code ******)0x0" identifier != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_00107278;" goto statement_identifier ;)) (expression_statement "ppppcVar34 = pppppcVar25[6];" (assignment_expression "ppppcVar34 = pppppcVar25[6]" identifier = (subscript_expression "pppppcVar25[6]" identifier [ number_literal ])) ;) })) (expression_statement "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);" (assignment_expression "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3])" identifier = (call_expression "(**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3])" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fb8))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7fb8)" * (pointer_expression "*(code **)(pcStack_98 + -0x7fb8)" * (cast_expression "(code **)(pcStack_98 + -0x7fb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7fb8)" ( (binary_expression "pcStack_98 + -0x7fb8" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5[(int)ppppcVar34 + 3])" ( (subscript_expression "ppppppcVar5[(int)ppppcVar34 + 3]" identifier [ (binary_expression "(int)ppppcVar34 + 3" (cast_expression "(int)ppppcVar34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) )))) ;) (if_statement "if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }" if (parenthesized_expression "(iVar4 == 5)" ( (binary_expression "iVar4 == 5" identifier == number_literal) )) (compound_statement "{\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }" { (labeled_statement "LAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);" statement_identifier : (expression_statement "(**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);" (call_expression "(**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_98 + -0x7f80)" * (cast_expression "(code **)(pcStack_98 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7f80)" ( (binary_expression "pcStack_98 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_90)" ( identifier ))) ;)) (expression_statement "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);" (assignment_expression "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90)" identifier = (cast_expression "(code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7f68))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7f68)" * (pointer_expression "*(code **)(pcStack_98 + -0x7f68)" * (cast_expression "(code **)(pcStack_98 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7f68)" ( (binary_expression "pcStack_98 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_90)" ( identifier ))))) ;) (expression_statement "uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);" (assignment_expression "uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3])" identifier = (call_expression "(**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3])" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7ec0))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7ec0)" * (pointer_expression "*(code **)(pcStack_98 + -0x7ec0)" * (cast_expression "(code **)(pcStack_98 + -0x7ec0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7ec0)" ( (binary_expression "pcStack_98 + -0x7ec0" identifier + number_literal) ))))) )) (argument_list "(pppppcVar25[3])" ( (subscript_expression "pppppcVar25[3]" identifier [ number_literal ]) )))) ;) (expression_statement "*(undefined8 *)ppppppcVar21 = uVar44;" (assignment_expression "*(undefined8 *)ppppppcVar21 = uVar44" (pointer_expression "*(undefined8 *)ppppppcVar21" * (cast_expression "(undefined8 *)ppppppcVar21" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }" else (compound_statement "{\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }" { (expression_statement "unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);" (assignment_expression "unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5)" identifier = (cast_expression "(code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fb8))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7fb8)" * (pointer_expression "*(code **)(pcStack_98 + -0x7fb8)" * (cast_expression "(code **)(pcStack_98 + -0x7fb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7fb8)" ( (binary_expression "pcStack_98 + -0x7fb8" identifier + number_literal) ))))) )) (argument_list "(*ppppppcVar5)" ( (pointer_expression "*ppppppcVar5" * identifier) ))))) ;) (if_statement "if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }" if (parenthesized_expression "((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5))" ( (binary_expression "(unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)" (parenthesized_expression "(unaff_s5 == (code ******)&DAT_00000005)" ( (binary_expression "unaff_s5 == (code ******)&DAT_00000005" identifier == (cast_expression "(code ******)&DAT_00000005" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000005" & identifier))) )) && (parenthesized_expression "(iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)" ( (comma_expression "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5" (assignment_expression "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1])" identifier = (call_expression "(**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1])" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fb8))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7fb8)" * (pointer_expression "*(code **)(pcStack_98 + -0x7fb8)" * (cast_expression "(code **)(pcStack_98 + -0x7fb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7fb8)" ( (binary_expression "pcStack_98 + -0x7fb8" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5[1])" ( (subscript_expression "ppppppcVar5[1]" identifier [ number_literal ]) )))) , (binary_expression "iVar4 != 5" identifier != number_literal)) ))) )) (compound_statement "{\n          ppppppcVar33 = (code ******)0x1;\n        }" { (expression_statement "ppppppcVar33 = (code ******)0x1;" (assignment_expression "ppppppcVar33 = (code ******)0x1" identifier = (cast_expression "(code ******)0x1" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) }) (else_clause "else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }" else (compound_statement "{\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }" { (expression_statement "ppppppcVar17 = (code ******)0x1;" (assignment_expression "ppppppcVar17 = (code ******)0x1" identifier = (cast_expression "(code ******)0x1" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;" (assignment_expression "ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3" identifier = (binary_expression "ppppppcVar5 + (int)pppppcVar25[6] + 3" (binary_expression "ppppppcVar5 + (int)pppppcVar25[6]" identifier + (cast_expression "(int)pppppcVar25[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppcVar25[6]" identifier [ number_literal ]))) + number_literal)) ;) (expression_statement "ppppppcVar38 = (code ******)*ppppppcVar5;" (assignment_expression "ppppppcVar38 = (code ******)*ppppppcVar5" identifier = (cast_expression "(code ******)*ppppppcVar5" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppcVar5" * identifier))) ;) (expression_statement "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);" (assignment_expression "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90)" identifier = (cast_expression "(code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7da4))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7da4)" * (pointer_expression "*(code **)(pcStack_98 + -0x7da4)" * (cast_expression "(code **)(pcStack_98 + -0x7da4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7da4)" ( (binary_expression "pcStack_98 + -0x7da4" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_90)" ( identifier ))))) ;) (if_statement "if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;" if (parenthesized_expression "(ppppppcVar33 == (code ******)0x0)" ( (binary_expression "ppppppcVar33 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_001073c8;" goto statement_identifier ;)) }))) }))) })) }) (else_clause "else {\n    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];\n    ppppppcVar17 = ppppppcVar5;\n    ppppppcVar38 = ppppppcVar21;\n    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);\n    if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }\n  }" else (compound_statement "{\n    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];\n    ppppppcVar17 = ppppppcVar5;\n    ppppppcVar38 = ppppppcVar21;\n    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);\n    if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }\n  }" { (expression_statement "pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];" (assignment_expression "pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3]" identifier = (subscript_expression "ppppppcVar5[(int)pppppcVar25[6] + 3]" identifier [ (binary_expression "(int)pppppcVar25[6] + 3" (cast_expression "(int)pppppcVar25[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppcVar25[6]" identifier [ number_literal ])) + number_literal) ])) ;) (expression_statement "ppppppcVar17 = ppppppcVar5;" (assignment_expression "ppppppcVar17 = ppppppcVar5" identifier = identifier) ;) (expression_statement "ppppppcVar38 = ppppppcVar21;" (assignment_expression "ppppppcVar38 = ppppppcVar21" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);" (assignment_expression "iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25)" identifier = (call_expression "(**(code **)(pcVar40 + 0x54418))(pppppcVar25)" (parenthesized_expression "(**(code **)(pcVar40 + 0x54418))" ( (pointer_expression "**(code **)(pcVar40 + 0x54418)" * (pointer_expression "*(code **)(pcVar40 + 0x54418)" * (cast_expression "(code **)(pcVar40 + 0x54418)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x54418)" ( (binary_expression "pcVar40 + 0x54418" identifier + number_literal) ))))) )) (argument_list "(pppppcVar25)" ( identifier )))) ;) (if_statement "if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }" if (parenthesized_expression "(iVar4 == 5)" ( (binary_expression "iVar4 == 5" identifier == number_literal) )) (compound_statement "{\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }" { (expression_statement "pppppcVar25 = ppppppcVar5[1];" (assignment_expression "pppppcVar25 = ppppppcVar5[1]" identifier = (subscript_expression "ppppppcVar5[1]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);" (assignment_expression "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25)" identifier = (call_expression "(**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fb8))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7fb8)" * (pointer_expression "*(code **)(pcStack_98 + -0x7fb8)" * (cast_expression "(code **)(pcStack_98 + -0x7fb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7fb8)" ( (binary_expression "pcStack_98 + -0x7fb8" identifier + number_literal) ))))) )) (argument_list "(pppppcVar25)" ( identifier )))) ;) }) (else_clause "else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }" else (compound_statement "{\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }" { (expression_statement "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);" (assignment_expression "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25)" identifier = (call_expression "(**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fb8))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7fb8)" * (pointer_expression "*(code **)(pcStack_98 + -0x7fb8)" * (cast_expression "(code **)(pcStack_98 + -0x7fb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7fb8)" ( (binary_expression "pcStack_98 + -0x7fb8" identifier + number_literal) ))))) )) (argument_list "(pppppcVar25)" ( identifier )))) ;) }))) (if_statement "if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }" if (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) )) (compound_statement "{\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }" { (expression_statement "ppppppcVar33 = (code ******)0x0;" (assignment_expression "ppppppcVar33 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);" (assignment_expression "uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25)" identifier = (call_expression "(**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fa8))" ( (pointer_expression "**(code **)(pcStack_98 + -0x7fa8)" * (pointer_expression "*(code **)(pcStack_98 + -0x7fa8)" * (cast_expression "(code **)(pcStack_98 + -0x7fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7fa8)" ( (binary_expression "pcStack_98 + -0x7fa8" identifier + number_literal) ))))) )) (argument_list "(pppppcVar25)" ( identifier )))) ;) (expression_statement "*(undefined8 *)ppppppcVar21 = uVar44;" (assignment_expression "*(undefined8 *)ppppppcVar21 = uVar44" (pointer_expression "*(undefined8 *)ppppppcVar21" * (cast_expression "(undefined8 *)ppppppcVar21" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }" else (compound_statement "{\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }" { (expression_statement "ppppppcVar33 = (code ******)&DAT_00000013;" (assignment_expression "ppppppcVar33 = (code ******)&DAT_00000013" identifier = (cast_expression "(code ******)&DAT_00000013" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000013" & identifier))) ;) }))) }))) (labeled_statement "LAB_00107278:\n  if (pppppcStack_8c == *ppppppcVar31) {\n    return ppppppcVar33;\n  }" statement_identifier : (if_statement "if (pppppcStack_8c == *ppppppcVar31) {\n    return ppppppcVar33;\n  }" if (parenthesized_expression "(pppppcStack_8c == *ppppppcVar31)" ( (binary_expression "pppppcStack_8c == *ppppppcVar31" identifier == (pointer_expression "*ppppppcVar31" * identifier)) )) (compound_statement "{\n    return ppppppcVar33;\n  }" { (return_statement "return ppppppcVar33;" return identifier ;) }))) (expression_statement "pcVar40 = *(code **)(pcStack_98 + -0x7ba0);" (assignment_expression "pcVar40 = *(code **)(pcStack_98 + -0x7ba0)" identifier = (pointer_expression "*(code **)(pcStack_98 + -0x7ba0)" * (cast_expression "(code **)(pcStack_98 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_98 + -0x7ba0)" ( (binary_expression "pcStack_98 + -0x7ba0" identifier + number_literal) ))))) ;) (expression_statement "pcVar42 = FUN_00107430;" (assignment_expression "pcVar42 = FUN_00107430" identifier = identifier) ;) (expression_statement "ppppppcVar23 = (code ******)pppppcStack_8c;" (assignment_expression "ppppppcVar23 = (code ******)pppppcStack_8c" identifier = (cast_expression "(code ******)pppppcStack_8c" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "ppppppcVar35 = *(code *******)(pcVar40 + 0x545fc);" (assignment_expression "ppppppcVar35 = *(code *******)(pcVar40 + 0x545fc)" identifier = (pointer_expression "*(code *******)(pcVar40 + 0x545fc)" * (cast_expression "(code *******)(pcVar40 + 0x545fc)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(pcVar40 + 0x545fc)" ( (binary_expression "pcVar40 + 0x545fc" identifier + number_literal) ))))) ;) (expression_statement "ppppppcVar26 = (code ******)*ppppppcVar23;" (assignment_expression "ppppppcVar26 = (code ******)*ppppppcVar23" identifier = (cast_expression "(code ******)*ppppppcVar23" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppcVar23" * identifier))) ;) (expression_statement "pppppcStack_c4 = *ppppppcVar35;" (assignment_expression "pppppcStack_c4 = *ppppppcVar35" identifier = (pointer_expression "*ppppppcVar35" * identifier)) ;) (expression_statement "ppppppcVar32 = ppppppcVar23;" (assignment_expression "ppppppcVar32 = ppppppcVar23" identifier = identifier) ;) (expression_statement "ppppppcVar28 = ppppppcVar17;" (assignment_expression "ppppppcVar28 = ppppppcVar17" identifier = identifier) ;) (expression_statement "ppppcStack_c0 = (code ****)pppppcVar25;" (assignment_expression "ppppcStack_c0 = (code ****)pppppcVar25" identifier = (cast_expression "(code ****)pppppcVar25" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "pppppcStack_bc = (code *****)ppppppcVar31;" (assignment_expression "pppppcStack_bc = (code *****)ppppppcVar31" identifier = (cast_expression "(code *****)ppppppcVar31" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_b8 = (code *****)ppppppcVar33;" (assignment_expression "pppppcStack_b8 = (code *****)ppppppcVar33" identifier = (cast_expression "(code *****)ppppppcVar33" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_b4 = (code *****)ppppppcVar5;" (assignment_expression "pppppcStack_b4 = (code *****)ppppppcVar5" identifier = (cast_expression "(code *****)ppppppcVar5" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_b0 = (code *****)ppppppcVar21;" (assignment_expression "pppppcStack_b0 = (code *****)ppppppcVar21" identifier = (cast_expression "(code *****)ppppppcVar21" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_ac = pcVar42;" (assignment_expression "pcStack_ac = pcVar42" identifier = identifier) ;) (if_statement "if (ppppppcVar26 == (code ******)0x0) {\n    pppppcVar25 = ppppppcVar17[6];\n    param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);\n    ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);\n    ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2);\n    ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();\n    ppppppcVar21 = ppppppcVar23;\n    if (ppppppcVar31 == (code ******)0x0) {\n      *ppppppcVar23 = (code *****)0x7;\n    }\n    else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }\n  }" if (parenthesized_expression "(ppppppcVar26 == (code ******)0x0)" ( (binary_expression "ppppppcVar26 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    pppppcVar25 = ppppppcVar17[6];\n    param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);\n    ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);\n    ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2);\n    ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();\n    ppppppcVar21 = ppppppcVar23;\n    if (ppppppcVar31 == (code ******)0x0) {\n      *ppppppcVar23 = (code *****)0x7;\n    }\n    else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }\n  }" { (expression_statement "pppppcVar25 = ppppppcVar17[6];" (assignment_expression "pppppcVar25 = ppppppcVar17[6]" identifier = (subscript_expression "ppppppcVar17[6]" identifier [ number_literal ])) ;) (expression_statement "param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);" (assignment_expression "param_4 = (code ******)((uint)pppppcVar25 >> 0x1e)" identifier = (cast_expression "(code ******)((uint)pppppcVar25 >> 0x1e)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)pppppcVar25 >> 0x1e)" ( (binary_expression "(uint)pppppcVar25 >> 0x1e" (cast_expression "(uint)pppppcVar25" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);" (assignment_expression "ppppppcVar28 = (code ******)((int)pppppcVar25 * 10)" identifier = (cast_expression "(code ******)((int)pppppcVar25 * 10)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppcVar25 * 10)" ( (binary_expression "(int)pppppcVar25 * 10" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2);" (assignment_expression "ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2)" identifier = (cast_expression "(code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2)" ( (binary_expression "(uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2" (binary_expression "(uint)((int)pppppcVar25 * 5) >> 0x1f" (call_expression "(uint)((int)pppppcVar25 * 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppcVar25 * 5)" ( (binary_expression "(int)pppppcVar25 * 5" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) >> number_literal) | (binary_expression "((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2" (parenthesized_expression "((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f))" ( (binary_expression "(uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)" (binary_expression "(uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2)" (call_expression "(uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4))" ( (binary_expression "(uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)" (call_expression "(uint)((int)pppppcVar25 * 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppcVar25 * 5)" ( (binary_expression "(int)pppppcVar25 * 5" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) < (call_expression "(uint)((int)pppppcVar25 * 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppcVar25 * 4)" ( (binary_expression "(int)pppppcVar25 * 4" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ))) + (parenthesized_expression "((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2)" ( (binary_expression "(uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "((int)pppppcVar25 >> 0x1f) << 2" (parenthesized_expression "((int)pppppcVar25 >> 0x1f)" ( (binary_expression "(int)pppppcVar25 >> 0x1f" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) << number_literal)) ))) + (parenthesized_expression "((int)pppppcVar25 >> 0x1f)" ( (binary_expression "(int)pppppcVar25 >> 0x1f" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) * number_literal)) )))) ;) (expression_statement "ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();" (assignment_expression "ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))()" identifier = (cast_expression "(code ******)(**(code **)(pcVar40 + 0x54330))()" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar40 + 0x54330))()" (parenthesized_expression "(**(code **)(pcVar40 + 0x54330))" ( (pointer_expression "**(code **)(pcVar40 + 0x54330)" * (pointer_expression "*(code **)(pcVar40 + 0x54330)" * (cast_expression "(code **)(pcVar40 + 0x54330)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x54330)" ( (binary_expression "pcVar40 + 0x54330" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "ppppppcVar21 = ppppppcVar23;" (assignment_expression "ppppppcVar21 = ppppppcVar23" identifier = identifier) ;) (if_statement "if (ppppppcVar31 == (code ******)0x0) {\n      *ppppppcVar23 = (code *****)0x7;\n    }\n    else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }" if (parenthesized_expression "(ppppppcVar31 == (code ******)0x0)" ( (binary_expression "ppppppcVar31 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      *ppppppcVar23 = (code *****)0x7;\n    }" { (expression_statement "*ppppppcVar23 = (code *****)0x7;" (assignment_expression "*ppppppcVar23 = (code *****)0x7" (pointer_expression "*ppppppcVar23" * identifier) = (cast_expression "(code *****)0x7" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }" else (compound_statement "{\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }" { (if_statement "if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }" if (parenthesized_expression "(0 < (int)ppppppcVar17[6])" ( (binary_expression "0 < (int)ppppppcVar17[6]" number_literal < (cast_expression "(int)ppppppcVar17[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar17[6]" identifier [ number_literal ]))) )) (compound_statement "{\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }" { (expression_statement "ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];" (assignment_expression "ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6]" identifier = (binary_expression "ppppppcVar38 + (int)ppppppcVar17[6]" identifier + (cast_expression "(int)ppppppcVar17[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar17[6]" identifier [ number_literal ])))) ;) (expression_statement "ppppppcVar26 = (code ******)0x0;" (assignment_expression "ppppppcVar26 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (do_statement "do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);" do (compound_statement "{\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        }" { (expression_statement "pppppcVar25 = *ppppppcVar38;" (assignment_expression "pppppcVar25 = *ppppppcVar38" identifier = (pointer_expression "*ppppppcVar38" * identifier)) ;) (expression_statement "pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);" (assignment_expression "pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26)" identifier = (cast_expression "(code *)((int)ppppppcVar31 + (int)ppppppcVar26)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar31 + (int)ppppppcVar26)" ( (binary_expression "(int)ppppppcVar31 + (int)ppppppcVar26" (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (do_statement "do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);" do (compound_statement "{\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          }" { (expression_statement "pcVar43 = pcVar42;" (assignment_expression "pcVar43 = pcVar42" identifier = identifier) ;) (expression_statement "pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);" (assignment_expression "pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7)" identifier = (cast_expression "(code *****)((uint)pppppcVar25 >> 7)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((uint)pppppcVar25 >> 7)" ( (binary_expression "(uint)pppppcVar25 >> 7" (cast_expression "(uint)pppppcVar25" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "bVar2 = (byte)pppppcVar25;" (assignment_expression "bVar2 = (byte)pppppcVar25" identifier = (cast_expression "(byte)pppppcVar25" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pcVar43 = (code)(bVar2 | 0x80);" (assignment_expression "*pcVar43 = (code)(bVar2 | 0x80)" (pointer_expression "*pcVar43" * identifier) = (call_expression "(code)(bVar2 | 0x80)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar2 | 0x80)" ( (binary_expression "bVar2 | 0x80" identifier | number_literal) )))) ;) (expression_statement "pppppcVar25 = pppppcVar29;" (assignment_expression "pppppcVar25 = pppppcVar29" identifier = identifier) ;) (expression_statement "pcVar42 = pcVar43 + 1;" (assignment_expression "pcVar42 = pcVar43 + 1" identifier = (binary_expression "pcVar43 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppppcVar29 != (code *****)0x0)" ( (binary_expression "pppppcVar29 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) ;) (expression_statement "ppppppcVar38 = ppppppcVar38 + 1;" (assignment_expression "ppppppcVar38 = ppppppcVar38 + 1" identifier = (binary_expression "ppppppcVar38 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar43 = (code)(bVar2 & 0x7f);" (assignment_expression "*pcVar43 = (code)(bVar2 & 0x7f)" (pointer_expression "*pcVar43" * identifier) = (call_expression "(code)(bVar2 & 0x7f)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar2 & 0x7f)" ( (binary_expression "bVar2 & 0x7f" identifier & number_literal) )))) ;) (expression_statement "ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));" (assignment_expression "ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)))" identifier = (cast_expression "(code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)))" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)))" ( (binary_expression "(int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26))" (cast_expression "(int)ppppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26))" ( (binary_expression "(int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)" (cast_expression "(int)(pcVar43 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar43 + 1)" ( (binary_expression "pcVar43 + 1" identifier + number_literal) ))) - (parenthesized_expression "((int)ppppppcVar31 + (int)ppppppcVar26)" ( (binary_expression "(int)ppppppcVar31 + (int)ppppppcVar26" (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) )))) ;) }) while (parenthesized_expression "(ppppppcVar5 != ppppppcVar38)" ( (binary_expression "ppppppcVar5 != ppppppcVar38" identifier != identifier) )) ;) })) (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar38 = &pppppcStack_c8;" (assignment_expression "ppppppcVar38 = &pppppcStack_c8" identifier = (pointer_expression "&pppppcStack_c8" & identifier)) ;) (expression_statement "ppppppcVar28 = (code ******)0x14;" (assignment_expression "ppppppcVar28 = (code ******)0x14" identifier = (cast_expression "(code ******)0x14" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);" (assignment_expression "pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17)" identifier = (cast_expression "(code *****)FUN_000f7f20(ppppppcVar17)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "FUN_000f7f20(ppppppcVar17)" identifier (argument_list "(ppppppcVar17)" ( identifier ))))) ;) (if_statement "if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }" if (parenthesized_expression "(pppppcVar25 == (code *****)0x0)" ( (binary_expression "pppppcVar25 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }" { (expression_statement "(**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);" (call_expression "(**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45])" (parenthesized_expression "(**(code **)(pcVar40 + 0x543c8))" ( (pointer_expression "**(code **)(pcVar40 + 0x543c8)" * (pointer_expression "*(code **)(pcVar40 + 0x543c8)" * (cast_expression "(code **)(pcVar40 + 0x543c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x543c8)" ( (binary_expression "pcVar40 + 0x543c8" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45])" ( identifier , number_literal , (subscript_expression "ppppppcVar17[0x44]" identifier [ number_literal ]) , (subscript_expression "ppppppcVar17[0x45]" identifier [ number_literal ]) ))) ;) (expression_statement "ppppppcVar28 = (code ******)&SUB_00000002;" (assignment_expression "ppppppcVar28 = (code ******)&SUB_00000002" identifier = (cast_expression "(code ******)&SUB_00000002" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "iStack_e0 = *(int *)(pcVar40 + 0x541f0);" (assignment_expression "iStack_e0 = *(int *)(pcVar40 + 0x541f0)" identifier = (pointer_expression "*(int *)(pcVar40 + 0x541f0)" * (cast_expression "(int *)(pcVar40 + 0x541f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 0x541f0)" ( (binary_expression "pcVar40 + 0x541f0" identifier + number_literal) ))))) ;) (expression_statement "ppppppcVar38 = ppppppcVar31;" (assignment_expression "ppppppcVar38 = ppppppcVar31" identifier = identifier) ;) (expression_statement "param_4 = ppppppcVar26;" (assignment_expression "param_4 = ppppppcVar26" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);" (call_expression "(**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8)" (parenthesized_expression "(**(code **)(pcVar40 + 0x543cc))" ( (pointer_expression "**(code **)(pcVar40 + 0x543cc)" * (pointer_expression "*(code **)(pcVar40 + 0x543cc)" * (cast_expression "(code **)(pcVar40 + 0x543cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x543cc)" ( (binary_expression "pcVar40 + 0x543cc" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_c8)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);" (call_expression "(**(code **)(pcVar40 + 0x54200))(pppppcStack_c8)" (parenthesized_expression "(**(code **)(pcVar40 + 0x54200))" ( (pointer_expression "**(code **)(pcVar40 + 0x54200)" * (pointer_expression "*(code **)(pcVar40 + 0x54200)" * (cast_expression "(code **)(pcVar40 + 0x54200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x54200)" ( (binary_expression "pcVar40 + 0x54200" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_c8)" ( identifier ))) ;) (expression_statement "pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();" (assignment_expression "pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))()" identifier = (cast_expression "(code *****)(**(code **)(pcVar40 + 0x54218))()" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(pcVar40 + 0x54218))()" (parenthesized_expression "(**(code **)(pcVar40 + 0x54218))" ( (pointer_expression "**(code **)(pcVar40 + 0x54218)" * (pointer_expression "*(code **)(pcVar40 + 0x54218)" * (cast_expression "(code **)(pcVar40 + 0x54218)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x54218)" ( (binary_expression "pcVar40 + 0x54218" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "*ppppppcVar23 = pppppcVar25;" (assignment_expression "*ppppppcVar23 = pppppcVar25" (pointer_expression "*ppppppcVar23" * identifier) = identifier) ;) (expression_statement "ppppppcVar32 = (code ******)pppppcStack_c8;" (assignment_expression "ppppppcVar32 = (code ******)pppppcStack_c8" identifier = (cast_expression "(code ******)pppppcStack_c8" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) }) (else_clause "else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }" else (compound_statement "{\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }" { (expression_statement "ppppppcVar32 = ppppppcVar31;" (assignment_expression "ppppppcVar32 = ppppppcVar31" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar40 + 0x541f0))();" (call_expression "(**(code **)(pcVar40 + 0x541f0))()" (parenthesized_expression "(**(code **)(pcVar40 + 0x541f0))" ( (pointer_expression "**(code **)(pcVar40 + 0x541f0)" * (pointer_expression "*(code **)(pcVar40 + 0x541f0)" * (cast_expression "(code **)(pcVar40 + 0x541f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x541f0)" ( (binary_expression "pcVar40 + 0x541f0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*ppppppcVar23 = pppppcVar25;" (assignment_expression "*ppppppcVar23 = pppppcVar25" (pointer_expression "*ppppppcVar23" * identifier) = identifier) ;) }))) }))) })) (if_statement "if (pppppcStack_c4 == *ppppppcVar35) {\n    return (code ******)*ppppppcVar35;\n  }" if (parenthesized_expression "(pppppcStack_c4 == *ppppppcVar35)" ( (binary_expression "pppppcStack_c4 == *ppppppcVar35" identifier == (pointer_expression "*ppppppcVar35" * identifier)) )) (compound_statement "{\n    return (code ******)*ppppppcVar35;\n  }" { (return_statement "return (code ******)*ppppppcVar35;" return (cast_expression "(code ******)*ppppppcVar35" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppcVar35" * identifier)) ;) })) (expression_statement "pcVar40 = *(code **)(pcVar40 + 0x545e0);" (assignment_expression "pcVar40 = *(code **)(pcVar40 + 0x545e0)" identifier = (pointer_expression "*(code **)(pcVar40 + 0x545e0)" * (cast_expression "(code **)(pcVar40 + 0x545e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x545e0)" ( (binary_expression "pcVar40 + 0x545e0" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_148 = pcVar40 + 0x5bf88;" (assignment_expression "pcStack_148 = pcVar40 + 0x5bf88" identifier = (binary_expression "pcVar40 + 0x5bf88" identifier + number_literal)) ;) (expression_statement "piVar27 = *(int **)(pcVar40 + 0x54404);" (assignment_expression "piVar27 = *(int **)(pcVar40 + 0x54404)" identifier = (pointer_expression "*(int **)(pcVar40 + 0x54404)" * (cast_expression "(int **)(pcVar40 + 0x54404)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x54404)" ( (binary_expression "pcVar40 + 0x54404" identifier + number_literal) ))))) ;) (expression_statement "pppppcStack_11c = (code *****)*piVar27;" (assignment_expression "pppppcStack_11c = (code *****)*piVar27" identifier = (cast_expression "(code *****)*piVar27" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*piVar27" * identifier))) ;) (expression_statement "ppppppcVar5 = ppppppcVar32;" (assignment_expression "ppppppcVar5 = ppppppcVar32" identifier = identifier) ;) (expression_statement "ppppppcVar33 = ppppppcVar38;" (assignment_expression "ppppppcVar33 = ppppppcVar38" identifier = identifier) ;) (expression_statement "ppppppcVar23 = param_4;" (assignment_expression "ppppppcVar23 = param_4" identifier = identifier) ;) (expression_statement "pppppcStack_118 = (code *****)ppppppcVar26;" (assignment_expression "pppppcStack_118 = (code *****)ppppppcVar26" identifier = (cast_expression "(code *****)ppppppcVar26" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_114 = (code *****)ppppppcVar31;" (assignment_expression "pppppcStack_114 = (code *****)ppppppcVar31" identifier = (cast_expression "(code *****)ppppppcVar31" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_110 = (code *****)ppppppcVar35;" (assignment_expression "pppppcStack_110 = (code *****)ppppppcVar35" identifier = (cast_expression "(code *****)ppppppcVar35" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_10c = (code *****)ppppppcVar17;" (assignment_expression "pppppcStack_10c = (code *****)ppppppcVar17" identifier = (cast_expression "(code *****)ppppppcVar17" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_108 = (code *****)ppppppcVar21;" (assignment_expression "pppppcStack_108 = (code *****)ppppppcVar21" identifier = (cast_expression "(code *****)ppppppcVar21" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_104 = (code *****)unaff_s5;" (assignment_expression "pppppcStack_104 = (code *****)unaff_s5" identifier = (cast_expression "(code *****)unaff_s5" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if (*ppppppcVar32 == (code *****)0x0) {\n    ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);\n    ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);\n    ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);\n    ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);\n    ppppppcVar17 = ppppppcVar28;\n    unaff_s5 = ppppppcVar38;\n    unaff_s6 = param_4;\n    if (ppppppcVar35 == (code ******)0x0) {\n      *ppppppcVar32 = (code *****)0x7;\n    }\n    else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }\n  }" if (parenthesized_expression "(*ppppppcVar32 == (code *****)0x0)" ( (binary_expression "*ppppppcVar32 == (code *****)0x0" (pointer_expression "*ppppppcVar32" * identifier) == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n    ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);\n    ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);\n    ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);\n    ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);\n    ppppppcVar17 = ppppppcVar28;\n    unaff_s5 = ppppppcVar38;\n    unaff_s6 = param_4;\n    if (ppppppcVar35 == (code ******)0x0) {\n      *ppppppcVar32 = (code *****)0x7;\n    }\n    else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }\n  }" { (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2)" identifier = (cast_expression "(code ******)((int)ppppppcVar28[6] + 2)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar28[6] + 2)" ( (binary_expression "(int)ppppppcVar28[6] + 2" (cast_expression "(int)ppppppcVar28[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar28[6]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);" (assignment_expression "ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d)" identifier = (cast_expression "(code ******)((uint)ppppppcVar21 >> 0x1d)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)ppppppcVar21 >> 0x1d)" ( (binary_expression "(uint)ppppppcVar21 >> 0x1d" (cast_expression "(uint)ppppppcVar21" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);" (assignment_expression "ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2)" identifier = (cast_expression "(code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2)" ( (binary_expression "(uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2" (binary_expression "(uint)((int)ppppppcVar21 * 7) >> 0x1f" (call_expression "(uint)((int)ppppppcVar21 * 7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppppppcVar21 * 7)" ( (binary_expression "(int)ppppppcVar21 * 7" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) >> number_literal) | (binary_expression "((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2" (parenthesized_expression "((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7)))" ( (binary_expression "(((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))" (parenthesized_expression "(((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f))" ( (binary_expression "((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)" (parenthesized_expression "((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3)" ( (binary_expression "(uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3" (cast_expression "(uint)ppppppcVar33" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "((int)ppppppcVar21 >> 0x1f) << 3" (parenthesized_expression "((int)ppppppcVar21 >> 0x1f)" ( (binary_expression "(int)ppppppcVar21 >> 0x1f" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) << number_literal)) )) - (parenthesized_expression "((int)ppppppcVar21 >> 0x1f)" ( (binary_expression "(int)ppppppcVar21 >> 0x1f" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))" ( (binary_expression "(uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7)" (call_expression "(uint)((int)ppppppcVar21 * 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppppppcVar21 * 8)" ( (binary_expression "(int)ppppppcVar21 * 8" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) < (call_expression "(uint)((int)ppppppcVar21 * 7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppppppcVar21 * 7)" ( (binary_expression "(int)ppppppcVar21 * 7" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) )))) )) * number_literal)) )))) ;) (expression_statement "ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);" (assignment_expression "ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe)" identifier = (cast_expression "(code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe)" (parenthesized_expression "(**(code **)(pcVar40 + 0x54138))" ( (pointer_expression "**(code **)(pcVar40 + 0x54138)" * (pointer_expression "*(code **)(pcVar40 + 0x54138)" * (cast_expression "(code **)(pcVar40 + 0x54138)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x54138)" ( (binary_expression "pcVar40 + 0x54138" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5,(int)ppppppcVar21 * 0xe)" ( identifier , (binary_expression "(int)ppppppcVar21 * 0xe" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))))) ;) (expression_statement "ppppppcVar17 = ppppppcVar28;" (assignment_expression "ppppppcVar17 = ppppppcVar28" identifier = identifier) ;) (expression_statement "unaff_s5 = ppppppcVar38;" (assignment_expression "unaff_s5 = ppppppcVar38" identifier = identifier) ;) (expression_statement "unaff_s6 = param_4;" (assignment_expression "unaff_s6 = param_4" identifier = identifier) ;) (if_statement "if (ppppppcVar35 == (code ******)0x0) {\n      *ppppppcVar32 = (code *****)0x7;\n    }\n    else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }" if (parenthesized_expression "(ppppppcVar35 == (code ******)0x0)" ( (binary_expression "ppppppcVar35 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      *ppppppcVar32 = (code *****)0x7;\n    }" { (expression_statement "*ppppppcVar32 = (code *****)0x7;" (assignment_expression "*ppppppcVar32 = (code *****)0x7" (pointer_expression "*ppppppcVar32" * identifier) = (cast_expression "(code *****)0x7" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }" else (compound_statement "{\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }" { (expression_statement "ppppppcVar33 = (code ******)&ppppcStack_12c;" (assignment_expression "ppppppcVar33 = (code ******)&ppppcStack_12c" identifier = (cast_expression "(code ******)&ppppcStack_12c" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&ppppcStack_12c" & identifier))) ;) (expression_statement "ppppppcVar23 = (code ******)0x0;" (assignment_expression "ppppppcVar23 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);" (assignment_expression "pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20)" identifier = (cast_expression "(code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_148 + -0x7d30) + 0x7f20)" ( (binary_expression "*(int *)(pcStack_148 + -0x7d30) + 0x7f20" (pointer_expression "*(int *)(pcStack_148 + -0x7d30)" * (cast_expression "(int *)(pcStack_148 + -0x7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_148 + -0x7d30)" ( (binary_expression "pcStack_148 + -0x7d30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppcStack_140 = (code *****)ppppppcVar33;" (assignment_expression "pppppcStack_140 = (code *****)ppppppcVar33" identifier = (cast_expression "(code *****)ppppppcVar33" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);" (assignment_expression "unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16)" identifier = (cast_expression "(code ******)FUN_000f7f20(ppppppcVar28,0x16)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000f7f20(ppppppcVar28,0x16)" identifier (argument_list "(ppppppcVar28,0x16)" ( identifier , number_literal ))))) ;) (expression_statement "ppppppcVar5 = ppppppcVar35;" (assignment_expression "ppppppcVar5 = ppppppcVar35" identifier = identifier) ;) (if_statement "if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }" if (parenthesized_expression "(unaff_s8 == (code ******)0x0)" ( (binary_expression "unaff_s8 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }" { (expression_statement "ppppppcVar33 = (code ******)0x0;" (assignment_expression "ppppppcVar33 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "unaff_s7 = (code ******)((int)ppppppcVar21 * 4);" (assignment_expression "unaff_s7 = (code ******)((int)ppppppcVar21 * 4)" identifier = (cast_expression "(code ******)((int)ppppppcVar21 * 4)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar21 * 4)" ( (binary_expression "(int)ppppppcVar21 * 4" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "(**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);" (call_expression "(**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7d0c))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7d0c)" * (pointer_expression "*(code **)(pcStack_148 + -0x7d0c)" * (cast_expression "(code **)(pcStack_148 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7d0c)" ( (binary_expression "pcStack_148 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_12c,1)" ( identifier , number_literal ))) ;) (expression_statement "iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);" (assignment_expression "iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c)" identifier = (call_expression "(**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_148 + -0x7f80)" * (cast_expression "(code **)(pcStack_148 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f80)" ( (binary_expression "pcStack_148 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_12c)" ( identifier )))) ;) (if_statement "if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }" if (parenthesized_expression "(iVar4 == 100)" ( (binary_expression "iVar4 == 100" identifier == number_literal) )) (compound_statement "{\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }" { (expression_statement "iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);" (assignment_expression "iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0)" identifier = (call_expression "(**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f48))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7f48)" * (pointer_expression "*(code **)(pcStack_148 + -0x7f48)" * (cast_expression "(code **)(pcStack_148 + -0x7f48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f48)" ( (binary_expression "pcStack_148 + -0x7f48" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_12c,0)" ( identifier , number_literal )))) ;) (expression_statement "iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);" (assignment_expression "iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0)" identifier = (call_expression "(**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f4c))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7f4c)" * (pointer_expression "*(code **)(pcStack_148 + -0x7f4c)" * (cast_expression "(code **)(pcStack_148 + -0x7f4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f4c)" ( (binary_expression "pcStack_148 + -0x7f4c" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_12c,0)" ( identifier , number_literal )))) ;) (if_statement "if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }" if (parenthesized_expression "((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0'))" ( (binary_expression "(iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')" (parenthesized_expression "(iStack_134 == 0)" ( (binary_expression "iStack_134 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(char *)(iStack_138 + iStack_134 + -1) < '\0')" ( (binary_expression "*(char *)(iStack_138 + iStack_134 + -1) < '\0'" (pointer_expression "*(char *)(iStack_138 + iStack_134 + -1)" * (cast_expression "(char *)(iStack_138 + iStack_134 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_138 + iStack_134 + -1)" ( (binary_expression "iStack_138 + iStack_134 + -1" (binary_expression "iStack_138 + iStack_134" identifier + identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }" { (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if (0 < (int)ppppppcVar21) goto LAB_001079ec;" if (parenthesized_expression "(0 < (int)ppppppcVar21)" ( (binary_expression "0 < (int)ppppppcVar21" number_literal < (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_001079ec;" goto statement_identifier ;)) (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7f68);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7f68)" identifier = (pointer_expression "*(code **)(pcStack_148 + -0x7f68)" * (cast_expression "(code **)(pcStack_148 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f68)" ( (binary_expression "pcStack_148 + -0x7f68" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }" else (compound_statement "{\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }" { (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7f68);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7f68)" identifier = (pointer_expression "*(code **)(pcStack_148 + -0x7f68)" * (cast_expression "(code **)(pcStack_148 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f68)" ( (binary_expression "pcStack_148 + -0x7f68" identifier + number_literal) ))))) ;) (if_statement "if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }" if (parenthesized_expression "(0 < (int)ppppppcVar21)" ( (binary_expression "0 < (int)ppppppcVar21" number_literal < (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }" { (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }" if (parenthesized_expression "(0 < iStack_134)" ( (binary_expression "0 < iStack_134" number_literal < identifier) )) (compound_statement "{\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }" { (expression_statement "puVar24 = auStack_128;" (assignment_expression "puVar24 = auStack_128" identifier = identifier) ;) (expression_statement "pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);" (assignment_expression "pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74)" identifier = (cast_expression "(code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_148 + -0x7f54) + 0xf74)" ( (binary_expression "*(int *)(pcStack_148 + -0x7f54) + 0xf74" (pointer_expression "*(int *)(pcStack_148 + -0x7f54)" * (cast_expression "(int *)(pcStack_148 + -0x7f54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_148 + -0x7f54)" ( (binary_expression "pcStack_148 + -0x7f54" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "ppppppcVar26 = ppppppcVar35;" (assignment_expression "ppppppcVar26 = ppppppcVar35" identifier = identifier) ;) (do_statement "do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);" do (compound_statement "{\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                }" { (expression_statement "iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);" (assignment_expression "iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24)" identifier = (call_expression "(*pcVar40)(iStack_138 + iVar4,puVar24)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(iStack_138 + iVar4,puVar24)" ( (binary_expression "iStack_138 + iVar4" identifier + identifier) , identifier )))) ;) (expression_statement "iVar4 = iVar4 + iVar6;" (assignment_expression "iVar4 = iVar4 + iVar6" identifier = (binary_expression "iVar4 + iVar6" identifier + identifier)) ;) (expression_statement "ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);" (assignment_expression "ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1)" identifier = (cast_expression "(code ******)((int)ppppppcVar31 + 1)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar31 + 1)" ( (binary_expression "(int)ppppppcVar31 + 1" (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*ppppppcVar26 = (code *****)ppppcStack_124;" (assignment_expression "*ppppppcVar26 = (code *****)ppppcStack_124" (pointer_expression "*ppppppcVar26" * identifier) = (cast_expression "(code *****)ppppcStack_124" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;" if (parenthesized_expression "(ppppppcVar21 == ppppppcVar31)" ( (binary_expression "ppppppcVar21 == ppppppcVar31" identifier == identifier) )) (goto_statement "goto LAB_00107790;" goto statement_identifier ;)) (expression_statement "ppppppcVar26 = ppppppcVar26 + 1;" (assignment_expression "ppppppcVar26 = ppppppcVar26 + 1" identifier = (binary_expression "ppppppcVar26 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 < iStack_134)" ( (binary_expression "iVar4 < iStack_134" identifier < identifier) )) ;) })) (labeled_statement "LAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;" statement_identifier : (expression_statement "ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;" (assignment_expression "ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31" identifier = (binary_expression "ppppppcVar35 + (int)ppppppcVar31" identifier + (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (do_statement "do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);" do (compound_statement "{\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              }" { (expression_statement "ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);" (assignment_expression "ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1)" identifier = (cast_expression "(code ******)((int)ppppppcVar31 + 1)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar31 + 1)" ( (binary_expression "(int)ppppppcVar31 + 1" (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*ppppppcVar26 = (code *****)0x0;" (assignment_expression "*ppppppcVar26 = (code *****)0x0" (pointer_expression "*ppppppcVar26" * identifier) = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar26 = ppppppcVar26 + 1;" (assignment_expression "ppppppcVar26 = ppppppcVar26 + 1" identifier = (binary_expression "ppppppcVar26 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)ppppppcVar31 < (int)ppppppcVar21)" ( (binary_expression "(int)ppppppcVar31 < (int)ppppppcVar21" (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7f68);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7f68)" identifier = (pointer_expression "*(code **)(pcStack_148 + -0x7f68)" * (cast_expression "(code **)(pcStack_148 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f68)" ( (binary_expression "pcStack_148 + -0x7f68" identifier + number_literal) ))))) ;) })) }))) }) (else_clause "else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }" else (compound_statement "{\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }" { (expression_statement "ppppppcVar33 = unaff_s7;" (assignment_expression "ppppppcVar33 = unaff_s7" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);" (call_expression "(**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7bfc))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7bfc)" * (pointer_expression "*(code **)(pcStack_148 + -0x7bfc)" * (cast_expression "(code **)(pcStack_148 + -0x7bfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7bfc)" ( (binary_expression "pcStack_148 + -0x7bfc" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar35,0)" ( identifier , number_literal ))) ;) (labeled_statement "LAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);" statement_identifier : (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7f68);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7f68)" identifier = (pointer_expression "*(code **)(pcStack_148 + -0x7f68)" * (cast_expression "(code **)(pcStack_148 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f68)" ( (binary_expression "pcStack_148 + -0x7f68" identifier + number_literal) ))))) ;)) }))) (expression_statement "unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);" (assignment_expression "unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c)" identifier = (cast_expression "(code ******)(*pcVar40)(ppppcStack_12c)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*pcVar40)(ppppcStack_12c)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(ppppcStack_12c)" ( identifier ))))) ;) (if_statement "if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }" if (parenthesized_expression "(unaff_s8 == (code ******)0x0)" ( (binary_expression "unaff_s8 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }" { (if_statement "if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }" if (parenthesized_expression "((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0))" ( (binary_expression "(iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)" (parenthesized_expression "(iStack_e0 < 0)" ( (binary_expression "iStack_e0 < 0" identifier < number_literal) )) && (parenthesized_expression "(*ppppppcVar35 < (code *****)-iStack_e0)" ( (binary_expression "*ppppppcVar35 < (code *****)-iStack_e0" (pointer_expression "*ppppppcVar35" * identifier) < (cast_expression "(code *****)-iStack_e0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (unary_expression "-iStack_e0" - identifier))) ))) )) (compound_statement "{\n            pppppcVar25 = (code *****)0x0;\n          }" { (expression_statement "pppppcVar25 = (code *****)0x0;" (assignment_expression "pppppcVar25 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }" else (compound_statement "{\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }" { (expression_statement "pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);" (assignment_expression "pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0)" identifier = (cast_expression "(code *****)((int)*ppppppcVar35 + iStack_e0)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)*ppppppcVar35 + iStack_e0)" ( (binary_expression "(int)*ppppppcVar35 + iStack_e0" (cast_expression "(int)*ppppppcVar35" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppppppcVar35" * identifier)) + identifier) )))) ;) }))) (expression_statement "*ppppppcVar35 = pppppcVar25;" (assignment_expression "*ppppppcVar35 = pppppcVar25" (pointer_expression "*ppppppcVar35" * identifier) = identifier) ;) (expression_statement "ppppppcVar31 = ppppppcVar35 + 1;" (assignment_expression "ppppppcVar31 = ppppppcVar35 + 1" identifier = (binary_expression "ppppppcVar35 + 1" identifier + number_literal)) ;) (if_statement "if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }" if (parenthesized_expression "(-1 < (int)ppppppcVar28[6])" ( (binary_expression "-1 < (int)ppppppcVar28[6]" number_literal < (cast_expression "(int)ppppppcVar28[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar28[6]" identifier [ number_literal ]))) )) (compound_statement "{\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);" do (compound_statement "{\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            }" { (while_statement "while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }" while (parenthesized_expression "((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4)" ( (binary_expression "(code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4" (cast_expression "(code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)*ppppppcVar38 + (int)*ppppppcVar31)" ( (binary_expression "(int)*ppppppcVar38 + (int)*ppppppcVar31" (cast_expression "(int)*ppppppcVar38" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppppppcVar38" * identifier)) + (cast_expression "(int)*ppppppcVar31" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppppppcVar31" * identifier))) ))) < (pointer_expression "*param_4" * identifier)) )) (compound_statement "{\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }" { (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*ppppppcVar31 = (code *****)0x0;" (assignment_expression "*ppppppcVar31 = (code *****)0x0" (pointer_expression "*ppppppcVar31" * identifier) = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar38 = ppppppcVar38 + 1;" (assignment_expression "ppppppcVar38 = ppppppcVar38 + 1" identifier = (binary_expression "ppppppcVar38 + 1" identifier + number_literal)) ;) (expression_statement "ppppppcVar31 = ppppppcVar31 + 1;" (assignment_expression "ppppppcVar31 = ppppppcVar31 + 1" identifier = (binary_expression "ppppppcVar31 + 1" identifier + number_literal)) ;) (expression_statement "param_4 = param_4 + 1;" (assignment_expression "param_4 = param_4 + 1" identifier = (binary_expression "param_4 + 1" identifier + number_literal)) ;) (if_statement "if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;" if (parenthesized_expression "((int)ppppppcVar28[6] < iVar4)" ( (binary_expression "(int)ppppppcVar28[6] < iVar4" (cast_expression "(int)ppppppcVar28[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar28[6]" identifier [ number_literal ])) < identifier) )) (goto_statement "goto LAB_00107834;" goto statement_identifier ;)) })) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);" (assignment_expression "*ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4)" (pointer_expression "*ppppppcVar31" * identifier) = (cast_expression "(code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4)" ( (binary_expression "((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4" (parenthesized_expression "((int)*ppppppcVar38 + (int)*ppppppcVar31)" ( (binary_expression "(int)*ppppppcVar38 + (int)*ppppppcVar31" (cast_expression "(int)*ppppppcVar38" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppppppcVar38" * identifier)) + (cast_expression "(int)*ppppppcVar31" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppppppcVar31" * identifier))) )) - (cast_expression "(int)*param_4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*param_4" * identifier))) )))) ;) (expression_statement "ppppppcVar38 = ppppppcVar38 + 1;" (assignment_expression "ppppppcVar38 = ppppppcVar38 + 1" identifier = (binary_expression "ppppppcVar38 + 1" identifier + number_literal)) ;) (expression_statement "ppppppcVar31 = ppppppcVar31 + 1;" (assignment_expression "ppppppcVar31 = ppppppcVar31 + 1" identifier = (binary_expression "ppppppcVar31 + 1" identifier + number_literal)) ;) (expression_statement "param_4 = param_4 + 1;" (assignment_expression "param_4 = param_4 + 1" identifier = (binary_expression "param_4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 <= (int)ppppppcVar28[6])" ( (binary_expression "iVar4 <= (int)ppppppcVar28[6]" identifier <= (cast_expression "(int)ppppppcVar28[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar28[6]" identifier [ number_literal ]))) )) ;) })) (labeled_statement "LAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;" statement_identifier : (expression_statement "unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;" (assignment_expression "unaff_s7 = ppppppcVar35 + (int)ppppppcVar21" identifier = (binary_expression "ppppppcVar35 + (int)ppppppcVar21" identifier + (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar33 = ppppppcVar35;" (assignment_expression "ppppppcVar33 = ppppppcVar35" identifier = identifier) ;) (if_statement "if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }" if (parenthesized_expression "(0 < (int)ppppppcVar21)" ( (binary_expression "0 < (int)ppppppcVar21" number_literal < (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }" { (do_statement "do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);" do (compound_statement "{\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            }" { (expression_statement "pppppcVar25 = *ppppppcVar33;" (assignment_expression "pppppcVar25 = *ppppppcVar33" identifier = (pointer_expression "*ppppppcVar33" * identifier)) ;) (expression_statement "pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);" (assignment_expression "pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31)" identifier = (cast_expression "(code *)((int)unaff_s7 + (int)ppppppcVar31)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + (int)ppppppcVar31)" ( (binary_expression "(int)unaff_s7 + (int)ppppppcVar31" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (do_statement "do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);" do (compound_statement "{\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              }" { (expression_statement "pcVar42 = pcVar40;" (assignment_expression "pcVar42 = pcVar40" identifier = identifier) ;) (expression_statement "pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);" (assignment_expression "pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7)" identifier = (cast_expression "(code *****)((uint)pppppcVar25 >> 7)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((uint)pppppcVar25 >> 7)" ( (binary_expression "(uint)pppppcVar25 >> 7" (cast_expression "(uint)pppppcVar25" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "bVar2 = (byte)pppppcVar25;" (assignment_expression "bVar2 = (byte)pppppcVar25" identifier = (cast_expression "(byte)pppppcVar25" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pcVar42 = (code)(bVar2 | 0x80);" (assignment_expression "*pcVar42 = (code)(bVar2 | 0x80)" (pointer_expression "*pcVar42" * identifier) = (call_expression "(code)(bVar2 | 0x80)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar2 | 0x80)" ( (binary_expression "bVar2 | 0x80" identifier | number_literal) )))) ;) (expression_statement "pppppcVar25 = pppppcVar29;" (assignment_expression "pppppcVar25 = pppppcVar29" identifier = identifier) ;) (expression_statement "pcVar40 = pcVar42 + 1;" (assignment_expression "pcVar40 = pcVar42 + 1" identifier = (binary_expression "pcVar42 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppppcVar29 != (code *****)0x0)" ( (binary_expression "pppppcVar29 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) ;) (expression_statement "ppppppcVar33 = ppppppcVar33 + 1;" (assignment_expression "ppppppcVar33 = ppppppcVar33 + 1" identifier = (binary_expression "ppppppcVar33 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar42 = (code)(bVar2 & 0x7f);" (assignment_expression "*pcVar42 = (code)(bVar2 & 0x7f)" (pointer_expression "*pcVar42" * identifier) = (call_expression "(code)(bVar2 & 0x7f)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar2 & 0x7f)" ( (binary_expression "bVar2 & 0x7f" identifier & number_literal) )))) ;) (expression_statement "ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));" (assignment_expression "ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)))" identifier = (cast_expression "(code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)))" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)))" ( (binary_expression "(int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31))" (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31))" ( (binary_expression "(int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)" (cast_expression "(int)(pcVar42 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar42 + 1)" ( (binary_expression "pcVar42 + 1" identifier + number_literal) ))) - (parenthesized_expression "((int)unaff_s7 + (int)ppppppcVar31)" ( (binary_expression "(int)unaff_s7 + (int)ppppppcVar31" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) )))) ;) (expression_statement "unaff_s8 = ppppppcVar31;" (assignment_expression "unaff_s8 = ppppppcVar31" identifier = identifier) ;) }) while (parenthesized_expression "(unaff_s7 != ppppppcVar33)" ( (binary_expression "unaff_s7 != ppppppcVar33" identifier != identifier) )) ;) })) (expression_statement "ppppppcVar23 = (code ******)0x0;" (assignment_expression "ppppppcVar23 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar33 = (code ******)pppppcStack_140;" (assignment_expression "ppppppcVar33 = (code ******)pppppcStack_140" identifier = (cast_expression "(code ******)pppppcStack_140" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);" (assignment_expression "ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17)" identifier = (cast_expression "(code ******)(*pcStack_13c)(ppppppcVar28,0x17)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*pcStack_13c)(ppppppcVar28,0x17)" (parenthesized_expression "(*pcStack_13c)" ( (pointer_expression "*pcStack_13c" * identifier) )) (argument_list "(ppppppcVar28,0x17)" ( identifier , number_literal ))))) ;) (expression_statement "unaff_s5 = ppppppcVar38;" (assignment_expression "unaff_s5 = ppppppcVar38" identifier = identifier) ;) (expression_statement "unaff_s6 = param_4;" (assignment_expression "unaff_s6 = param_4" identifier = identifier) ;) (if_statement "if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }" if (parenthesized_expression "(ppppppcVar31 == (code ******)0x0)" ( (binary_expression "ppppppcVar31 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }" { (expression_statement "(**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);" (call_expression "(**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7d0c))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7d0c)" * (pointer_expression "*(code **)(pcStack_148 + -0x7d0c)" * (cast_expression "(code **)(pcStack_148 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7d0c)" ( (binary_expression "pcStack_148 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_12c,1,0)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uStack_150 = 0;" (assignment_expression "uStack_150 = 0" identifier = number_literal) ;) (expression_statement "ppppppcVar33 = unaff_s7;" (assignment_expression "ppppppcVar33 = unaff_s7" identifier = identifier) ;) (expression_statement "ppppppcVar23 = unaff_s8;" (assignment_expression "ppppppcVar23 = unaff_s8" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);" (call_expression "(**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7db4))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7db4)" * (pointer_expression "*(code **)(pcStack_148 + -0x7db4)" * (cast_expression "(code **)(pcStack_148 + -0x7db4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7db4)" ( (binary_expression "pcStack_148 + -0x7db4" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_12c,2)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);" (call_expression "(**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f80))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7f80)" * (pointer_expression "*(code **)(pcStack_148 + -0x7f80)" * (cast_expression "(code **)(pcStack_148 + -0x7f80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f80)" ( (binary_expression "pcStack_148 + -0x7f80" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_12c)" ( identifier ))) ;) (expression_statement "pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);" (assignment_expression "pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c)" identifier = (cast_expression "(code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f68))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7f68)" * (pointer_expression "*(code **)(pcStack_148 + -0x7f68)" * (cast_expression "(code **)(pcStack_148 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f68)" ( (binary_expression "pcStack_148 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_12c)" ( identifier ))))) ;) (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7dac);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7dac)" identifier = (pointer_expression "*(code **)(pcStack_148 + -0x7dac)" * (cast_expression "(code **)(pcStack_148 + -0x7dac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7dac)" ( (binary_expression "pcStack_148 + -0x7dac" identifier + number_literal) ))))) ;) (expression_statement "*ppppppcVar32 = pppppcVar25;" (assignment_expression "*ppppppcVar32 = pppppcVar25" (pointer_expression "*ppppppcVar32" * identifier) = identifier) ;) (expression_statement "(*pcVar40)(ppppcStack_12c,2);" (call_expression "(*pcVar40)(ppppcStack_12c,2)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(ppppcStack_12c,2)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_148 + -0x7f90))();" (call_expression "(**(code **)(pcStack_148 + -0x7f90))()" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f90))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7f90)" * (pointer_expression "*(code **)(pcStack_148 + -0x7f90)" * (cast_expression "(code **)(pcStack_148 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f90)" ( (binary_expression "pcStack_148 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }" else (compound_statement "{\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }" { (expression_statement "pppppcStack_140 = (code *****)ppppppcVar31;" (assignment_expression "pppppcStack_140 = (code *****)ppppppcVar31" identifier = (cast_expression "(code *****)ppppppcVar31" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "(**(code **)(pcStack_148 + -0x7f90))();" (call_expression "(**(code **)(pcStack_148 + -0x7f90))()" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f90))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7f90)" * (pointer_expression "*(code **)(pcStack_148 + -0x7f90)" * (cast_expression "(code **)(pcStack_148 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f90)" ( (binary_expression "pcStack_148 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*ppppppcVar32 = pppppcStack_140;" (assignment_expression "*ppppppcVar32 = pppppcStack_140" (pointer_expression "*ppppppcVar32" * identifier) = identifier) ;) }))) (goto_statement "goto LAB_0010767c;" goto statement_identifier ;) })) })) (expression_statement "(**(code **)(pcStack_148 + -0x7f90))();" (call_expression "(**(code **)(pcStack_148 + -0x7f90))()" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f90))" ( (pointer_expression "**(code **)(pcStack_148 + -0x7f90)" * (pointer_expression "*(code **)(pcStack_148 + -0x7f90)" * (cast_expression "(code **)(pcStack_148 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7f90)" ( (binary_expression "pcStack_148 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*ppppppcVar32 = (code *****)unaff_s8;" (assignment_expression "*ppppppcVar32 = (code *****)unaff_s8" (pointer_expression "*ppppppcVar32" * identifier) = (cast_expression "(code *****)unaff_s8" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) }))) })) (labeled_statement "LAB_0010767c:\n  if ((code ******)pppppcStack_11c == (code ******)*piVar27) {\n    return (code ******)*piVar27;\n  }" statement_identifier : (if_statement "if ((code ******)pppppcStack_11c == (code ******)*piVar27) {\n    return (code ******)*piVar27;\n  }" if (parenthesized_expression "((code ******)pppppcStack_11c == (code ******)*piVar27)" ( (binary_expression "(code ******)pppppcStack_11c == (code ******)*piVar27" (cast_expression "(code ******)pppppcStack_11c" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(code ******)*piVar27" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*piVar27" * identifier))) )) (compound_statement "{\n    return (code ******)*piVar27;\n  }" { (return_statement "return (code ******)*piVar27;" return (cast_expression "(code ******)*piVar27" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*piVar27" * identifier)) ;) }))) (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7ba0);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7ba0)" identifier = (pointer_expression "*(code **)(pcStack_148 + -0x7ba0)" * (cast_expression "(code **)(pcStack_148 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7ba0)" ( (binary_expression "pcStack_148 + -0x7ba0" identifier + number_literal) ))))) ;) (expression_statement "pcVar42 = FUN_00107a84;" (assignment_expression "pcVar42 = FUN_00107a84" identifier = identifier) ;) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_190 = pcVar40 + 0x5bb2c;" (assignment_expression "pcStack_190 = pcVar40 + 0x5bb2c" identifier = (binary_expression "pcVar40 + 0x5bb2c" identifier + number_literal)) ;) (expression_statement "puVar30 = *(uint **)(pcVar40 + 0x53fa8);" (assignment_expression "puVar30 = *(uint **)(pcVar40 + 0x53fa8)" identifier = (pointer_expression "*(uint **)(pcVar40 + 0x53fa8)" * (cast_expression "(uint **)(pcVar40 + 0x53fa8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x53fa8)" ( (binary_expression "pcVar40 + 0x53fa8" identifier + number_literal) ))))) ;) (expression_statement "ppppcStack_184 = (code ****)*puVar30;" (assignment_expression "ppppcStack_184 = (code ****)*puVar30" identifier = (cast_expression "(code ****)*puVar30" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*puVar30" * identifier))) ;) (expression_statement "piStack_17c = piVar27;" (assignment_expression "piStack_17c = piVar27" identifier = identifier) ;) (expression_statement "pppppcStack_178 = (code *****)ppppppcVar32;" (assignment_expression "pppppcStack_178 = (code *****)ppppppcVar32" identifier = (cast_expression "(code *****)ppppppcVar32" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_174 = (code *****)ppppppcVar35;" (assignment_expression "pppppcStack_174 = (code *****)ppppppcVar35" identifier = (cast_expression "(code *****)ppppppcVar35" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_170 = (code *****)ppppppcVar17;" (assignment_expression "pppppcStack_170 = (code *****)ppppppcVar17" identifier = (cast_expression "(code *****)ppppppcVar17" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_16c = (code *****)ppppppcVar21;" (assignment_expression "pppppcStack_16c = (code *****)ppppppcVar21" identifier = (cast_expression "(code *****)ppppppcVar21" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_168 = (code *****)unaff_s5;" (assignment_expression "pppppcStack_168 = (code *****)unaff_s5" identifier = (cast_expression "(code *****)unaff_s5" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_164 = pcVar42;" (assignment_expression "pcStack_164 = pcVar42" identifier = identifier) ;) (if_statement "if (*(ushort *)(ppppppcVar5 + 1) < 2) {\n    iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);\n    if (iVar4 == 100) {\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }\n    else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }\n  }\n  else {\n    ppppppcVar32 = (code ******)ppppppcVar5[4];\n    pppppcStack_188 = (code *****)0x0;\n    if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }\n    pppppcVar25 = ppppppcVar5[8];\n    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }\n    ppppppcVar31 = (code ******)0x0;\n    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n  }" if (parenthesized_expression "(*(ushort *)(ppppppcVar5 + 1) < 2)" ( (binary_expression "*(ushort *)(ppppppcVar5 + 1) < 2" (pointer_expression "*(ushort *)(ppppppcVar5 + 1)" * (cast_expression "(ushort *)(ppppppcVar5 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcVar5 + 1)" ( (binary_expression "ppppppcVar5 + 1" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n    iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);\n    if (iVar4 == 100) {\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }\n    else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }\n  }" { (expression_statement "iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);" (assignment_expression "iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3])" identifier = (call_expression "(**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3])" (parenthesized_expression "(**(code **)(pcVar40 + 0x53bac))" ( (pointer_expression "**(code **)(pcVar40 + 0x53bac)" * (pointer_expression "*(code **)(pcVar40 + 0x53bac)" * (cast_expression "(code **)(pcVar40 + 0x53bac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar40 + 0x53bac)" ( (binary_expression "pcVar40 + 0x53bac" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5[3])" ( (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar4 == 100) {\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }\n    else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }" if (parenthesized_expression "(iVar4 == 100)" ( (binary_expression "iVar4 == 100" identifier == number_literal) )) (compound_statement "{\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }" { (expression_statement "uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);" (assignment_expression "uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0)" identifier = (call_expression "(**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0)" (parenthesized_expression "(**(code **)(pcStack_190 + -0x7f60))" ( (pointer_expression "**(code **)(pcStack_190 + -0x7f60)" * (pointer_expression "*(code **)(pcStack_190 + -0x7f60)" * (cast_expression "(code **)(pcStack_190 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_190 + -0x7f60)" ( (binary_expression "pcStack_190 + -0x7f60" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5[3],0)" ( (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "*(undefined8 *)(ppppppcVar5 + 8) = uVar44;" (assignment_expression "*(undefined8 *)(ppppppcVar5 + 8) = uVar44" (pointer_expression "*(undefined8 *)(ppppppcVar5 + 8)" * (cast_expression "(undefined8 *)(ppppppcVar5 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcVar5 + 8)" ( (binary_expression "ppppppcVar5 + 8" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }" else (compound_statement "{\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }" { (expression_statement "pcVar40 = *(code **)(pcStack_190 + -0x7f68);" (assignment_expression "pcVar40 = *(code **)(pcStack_190 + -0x7f68)" identifier = (pointer_expression "*(code **)(pcStack_190 + -0x7f68)" * (cast_expression "(code **)(pcStack_190 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_190 + -0x7f68)" ( (binary_expression "pcStack_190 + -0x7f68" identifier + number_literal) ))))) ;) (expression_statement "*(code *)((int)ppppppcVar5 + 6) = (code)0x1;" (assignment_expression "*(code *)((int)ppppppcVar5 + 6) = (code)0x1" (pointer_expression "*(code *)((int)ppppppcVar5 + 6)" * (cast_expression "(code *)((int)ppppppcVar5 + 6)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 6)" ( (binary_expression "(int)ppppppcVar5 + 6" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(code)0x1" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);" (assignment_expression "ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3])" identifier = (cast_expression "(code ******)(*pcVar40)(ppppppcVar5[3])" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*pcVar40)(ppppppcVar5[3])" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(ppppppcVar5[3])" ( (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]) ))))) ;) }))) }) (else_clause "else {\n    ppppppcVar32 = (code ******)ppppppcVar5[4];\n    pppppcStack_188 = (code *****)0x0;\n    if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }\n    pppppcVar25 = ppppppcVar5[8];\n    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }\n    ppppppcVar31 = (code ******)0x0;\n    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n  }" else (compound_statement "{\n    ppppppcVar32 = (code ******)ppppppcVar5[4];\n    pppppcStack_188 = (code *****)0x0;\n    if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }\n    pppppcVar25 = ppppppcVar5[8];\n    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }\n    ppppppcVar31 = (code ******)0x0;\n    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n  }" { (expression_statement "ppppppcVar32 = (code ******)ppppppcVar5[4];" (assignment_expression "ppppppcVar32 = (code ******)ppppppcVar5[4]" identifier = (cast_expression "(code ******)ppppppcVar5[4]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[4]" identifier [ number_literal ]))) ;) (expression_statement "pppppcStack_188 = (code *****)0x0;" (assignment_expression "pppppcStack_188 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }" if (parenthesized_expression "(ppppppcVar32 == (code ******)0x0)" ( (binary_expression "ppppppcVar32 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }" { (expression_statement "*(code *)((int)ppppppcVar5 + 6) = (code)0x1;" (assignment_expression "*(code *)((int)ppppppcVar5 + 6) = (code)0x1" (pointer_expression "*(code *)((int)ppppppcVar5 + 6)" * (cast_expression "(code *)((int)ppppppcVar5 + 6)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 6)" ( (binary_expression "(int)ppppppcVar5 + 6" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(code)0x1" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) }) (else_clause "else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }" else (compound_statement "{\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }" { (expression_statement "iVar4 = *(int *)(pcVar40 + 0x53c4c);" (assignment_expression "iVar4 = *(int *)(pcVar40 + 0x53c4c)" identifier = (pointer_expression "*(int *)(pcVar40 + 0x53c4c)" * (cast_expression "(int *)(pcVar40 + 0x53c4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 0x53c4c)" ( (binary_expression "pcVar40 + 0x53c4c" identifier + number_literal) ))))) ;) (expression_statement "ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);" (assignment_expression "ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888)" identifier = (cast_expression "(code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar40 + 0x53c74) + 0x6888)" ( (binary_expression "*(int *)(pcVar40 + 0x53c74) + 0x6888" (pointer_expression "*(int *)(pcVar40 + 0x53c74)" * (cast_expression "(int *)(pcVar40 + 0x53c74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 0x53c74)" ( (binary_expression "pcVar40 + 0x53c74" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));" do (compound_statement "{\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      }" { (if_statement "if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }" if (parenthesized_expression "(*(code *)((int)ppppppcVar5 + 7) == (code)0x0)" ( (binary_expression "*(code *)((int)ppppppcVar5 + 7) == (code)0x0" (pointer_expression "*(code *)((int)ppppppcVar5 + 7)" * (cast_expression "(code *)((int)ppppppcVar5 + 7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 7)" ( (binary_expression "(int)ppppppcVar5 + 7" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }" { (expression_statement "(**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);" (call_expression "(**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3])" (parenthesized_expression "(**(code **)(pcStack_190 + -0x7f68))" ( (pointer_expression "**(code **)(pcStack_190 + -0x7f68)" * (pointer_expression "*(code **)(pcStack_190 + -0x7f68)" * (cast_expression "(code **)(pcStack_190 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_190 + -0x7f68)" ( (binary_expression "pcStack_190 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5[3])" ( (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]) ))) ;) })) (if_statement "if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }" if (parenthesized_expression "((code ******)pppppcStack_188 == (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_188 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_188" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }" { (expression_statement "ppppppcVar33 = &pppppcStack_188;" (assignment_expression "ppppppcVar33 = &pppppcStack_188" identifier = (pointer_expression "&pppppcStack_188" & identifier)) ;) (expression_statement "(*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);" (call_expression "(*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32)" (parenthesized_expression "(*(code *)ppppppcVar38)" ( (pointer_expression "*(code *)ppppppcVar38" * (cast_expression "(code *)ppppppcVar38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ppppppcVar5,ppppppcVar32)" ( identifier , identifier ))) ;) })) (expression_statement "cVar20 = *(code *)(ppppppcVar32 + 8);" (assignment_expression "cVar20 = *(code *)(ppppppcVar32 + 8)" identifier = (pointer_expression "*(code *)(ppppppcVar32 + 8)" * (cast_expression "(code *)(ppppppcVar32 + 8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcVar32 + 8)" ( (binary_expression "ppppppcVar32 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(code *)((int)ppppppcVar5 + 7) = (code)0x1;" (assignment_expression "*(code *)((int)ppppppcVar5 + 7) = (code)0x1" (pointer_expression "*(code *)((int)ppppppcVar5 + 7)" * (cast_expression "(code *)((int)ppppppcVar5 + 7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 7)" ( (binary_expression "(int)ppppppcVar5 + 7" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(code)0x1" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "*(code *)((int)ppppppcVar5 + 6) = cVar20;" (assignment_expression "*(code *)((int)ppppppcVar5 + 6) = cVar20" (pointer_expression "*(code *)((int)ppppppcVar5 + 6)" * (cast_expression "(code *)((int)ppppppcVar5 + 6)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 6)" ( (binary_expression "(int)ppppppcVar5 + 6" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "ppppppcVar5[0x16] = (code *****)0x1;" (assignment_expression "ppppppcVar5[0x16] = (code *****)0x1" (subscript_expression "ppppppcVar5[0x16]" identifier [ number_literal ]) = (cast_expression "(code *****)0x1" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "pppppcVar25 = ppppppcVar32[6];" (assignment_expression "pppppcVar25 = ppppppcVar32[6]" identifier = (subscript_expression "ppppppcVar32[6]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar5[9] = ppppppcVar32[7];" (assignment_expression "ppppppcVar5[9] = ppppppcVar32[7]" (subscript_expression "ppppppcVar5[9]" identifier [ number_literal ]) = (subscript_expression "ppppppcVar32[7]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar5[8] = pppppcVar25;" (assignment_expression "ppppppcVar5[8] = pppppcVar25" (subscript_expression "ppppppcVar5[8]" identifier [ number_literal ]) = identifier) ;) }) while (parenthesized_expression "((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0))" ( (binary_expression "(cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0)" (parenthesized_expression "(cVar20 == (code)0x0)" ( (binary_expression "cVar20 == (code)0x0" identifier == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) && (parenthesized_expression "(iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0)" ( (comma_expression "iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0" (assignment_expression "iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188)" identifier = (call_expression "FUN_00105348(ppppppcVar5,&pppppcStack_188)" identifier (argument_list "(ppppppcVar5,&pppppcStack_188)" ( identifier , (pointer_expression "&pppppcStack_188" & identifier) )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) ;) (expression_statement "ppppppcVar31 = (code ******)pppppcStack_188;" (assignment_expression "ppppppcVar31 = (code ******)pppppcStack_188" identifier = (cast_expression "(code ******)pppppcStack_188" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppcVar17 = &pppppcStack_188;" (assignment_expression "ppppppcVar17 = &pppppcStack_188" identifier = (pointer_expression "&pppppcStack_188" & identifier)) ;) (expression_statement "ppppppcVar21 = (code ******)(iVar4 + 0x5348);" (assignment_expression "ppppppcVar21 = (code ******)(iVar4 + 0x5348)" identifier = (cast_expression "(code ******)(iVar4 + 0x5348)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar4 + 0x5348)" ( (binary_expression "iVar4 + 0x5348" identifier + number_literal) )))) ;) (expression_statement "unaff_s5 = ppppppcVar38;" (assignment_expression "unaff_s5 = ppppppcVar38" identifier = identifier) ;) (if_statement "if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;" if (parenthesized_expression "((code ******)pppppcStack_188 != (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_188 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_188" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_00107b8c;" goto statement_identifier ;)) }))) (expression_statement "pppppcVar25 = ppppppcVar5[8];" (assignment_expression "pppppcVar25 = ppppppcVar5[8]" identifier = (subscript_expression "ppppppcVar5[8]" identifier [ number_literal ])) ;) (if_statement "if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }" if (parenthesized_expression "(*(code *)(ppppppcVar5 + 0xd) == (code)0x0)" ( (binary_expression "*(code *)(ppppppcVar5 + 0xd) == (code)0x0" (pointer_expression "*(code *)(ppppppcVar5 + 0xd)" * (cast_expression "(code *)(ppppppcVar5 + 0xd)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcVar5 + 0xd)" ( (binary_expression "ppppppcVar5 + 0xd" identifier + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }" { (if_statement "if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }" if (parenthesized_expression "((int)pppppcVar25 <= (int)ppppppcVar5[0x14])" ( (binary_expression "(int)pppppcVar25 <= (int)ppppppcVar5[0x14]" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)ppppppcVar5[0x14]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[0x14]" identifier [ number_literal ]))) )) (compound_statement "{\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }" { (if_statement "if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;" if (parenthesized_expression "(ppppppcVar5[0x14] != pppppcVar25)" ( (binary_expression "ppppppcVar5[0x14] != pppppcVar25" (subscript_expression "ppppppcVar5[0x14]" identifier [ number_literal ]) != identifier) )) (goto_statement "goto LAB_00107c24;" goto statement_identifier ;)) (if_statement "if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }" if (parenthesized_expression "(ppppppcVar5[9] <= ppppppcVar5[0x15])" ( (binary_expression "ppppppcVar5[9] <= ppppppcVar5[0x15]" (subscript_expression "ppppppcVar5[9]" identifier [ number_literal ]) <= (subscript_expression "ppppppcVar5[0x15]" identifier [ number_literal ])) )) (compound_statement "{\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }" { (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (goto_statement "goto LAB_00107b8c;" goto statement_identifier ;) })) })) }) (else_clause "else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }" else (if_statement "if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }" if (parenthesized_expression "(((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9]))))" ( (binary_expression "((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))" (parenthesized_expression "((int)ppppppcVar5[0x12] <= (int)pppppcVar25)" ( (binary_expression "(int)ppppppcVar5[0x12] <= (int)pppppcVar25" (cast_expression "(int)ppppppcVar5[0x12]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[0x12]" identifier [ number_literal ])) <= (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))" ( (parenthesized_expression "(ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9]))" ( (binary_expression "ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])" (binary_expression "ppppppcVar5[0x12] != pppppcVar25" (subscript_expression "ppppppcVar5[0x12]" identifier [ number_literal ]) != identifier) || (parenthesized_expression "(ppppppcVar5[0x13] <= ppppppcVar5[9])" ( (binary_expression "ppppppcVar5[0x13] <= ppppppcVar5[9]" (subscript_expression "ppppppcVar5[0x13]" identifier [ number_literal ]) <= (subscript_expression "ppppppcVar5[9]" identifier [ number_literal ])) ))) )) ))) )) (compound_statement "{\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }" { (labeled_statement "LAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;" statement_identifier : (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (goto_statement "goto LAB_00107b8c;" goto statement_identifier ;) })))) (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "*(code *)((int)ppppppcVar5 + 6) = (code)0x1;" (assignment_expression "*(code *)((int)ppppppcVar5 + 6) = (code)0x1" (pointer_expression "*(code *)((int)ppppppcVar5 + 6)" * (cast_expression "(code *)((int)ppppppcVar5 + 6)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 6)" ( (binary_expression "(int)ppppppcVar5 + 6" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(code)0x1" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) }))) (labeled_statement "LAB_00107b8c:\n  if ((code *****)ppppcStack_184 == (code *****)*puVar30) {\n    return ppppppcVar31;\n  }" statement_identifier : (if_statement "if ((code *****)ppppcStack_184 == (code *****)*puVar30) {\n    return ppppppcVar31;\n  }" if (parenthesized_expression "((code *****)ppppcStack_184 == (code *****)*puVar30)" ( (binary_expression "(code *****)ppppcStack_184 == (code *****)*puVar30" (cast_expression "(code *****)ppppcStack_184" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(code *****)*puVar30" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*puVar30" * identifier))) )) (compound_statement "{\n    return ppppppcVar31;\n  }" { (return_statement "return ppppppcVar31;" return identifier ;) }))) (expression_statement "pcVar42 = *(code **)(pcStack_190 + -0x7ba0);" (assignment_expression "pcVar42 = *(code **)(pcStack_190 + -0x7ba0)" identifier = (pointer_expression "*(code **)(pcStack_190 + -0x7ba0)" * (cast_expression "(code **)(pcStack_190 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_190 + -0x7ba0)" ( (binary_expression "pcStack_190 + -0x7ba0" identifier + number_literal) ))))) ;) (expression_statement "pcVar43 = FUN_00107cac;" (assignment_expression "pcVar43 = FUN_00107cac" identifier = identifier) ;) (expression_statement "pppppcVar25 = (code *****)ppppcStack_184;" (assignment_expression "pppppcVar25 = (code *****)ppppcStack_184" identifier = (cast_expression "(code *****)ppppcStack_184" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "(*pcVar42)();" (call_expression "(*pcVar42)()" (parenthesized_expression "(*pcVar42)" ( (pointer_expression "*pcVar42" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "ppppppcVar38 = (code ******)pppppcStack_188;" (assignment_expression "ppppppcVar38 = (code ******)pppppcStack_188" identifier = (cast_expression "(code ******)pppppcStack_188" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "pcVar40 = pcStack_190;" (assignment_expression "pcVar40 = pcStack_190" identifier = identifier) ;) (expression_statement "piVar18 = *(int **)(pcVar42 + 0x53d80);" (assignment_expression "piVar18 = *(int **)(pcVar42 + 0x53d80)" identifier = (pointer_expression "*(int **)(pcVar42 + 0x53d80)" * (cast_expression "(int **)(pcVar42 + 0x53d80)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d80)" ( (binary_expression "pcVar42 + 0x53d80" identifier + number_literal) ))))) ;) (expression_statement "ppppppcVar28 = (code ******)((int)((int)ppppppcVar23 + -2) * 4);" (assignment_expression "ppppppcVar28 = (code ******)((int)((int)ppppppcVar23 + -2) * 4)" identifier = (cast_expression "(code ******)((int)((int)ppppppcVar23 + -2) * 4)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)((int)ppppppcVar23 + -2) * 4)" ( (binary_expression "(int)((int)ppppppcVar23 + -2) * 4" (cast_expression "(int)((int)ppppppcVar23 + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)ppppppcVar23 + -2)" ( (binary_expression "(int)ppppppcVar23 + -2" (cast_expression "(int)ppppppcVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) * number_literal) )))) ;) (expression_statement "pppppcStack_218 = (code *****)0x0;" (assignment_expression "pppppcStack_218 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iStack_1cc = *piVar18;" (assignment_expression "iStack_1cc = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "cVar1 = *(char *)(*(int *)pcStack_190 + 3);" (assignment_expression "cVar1 = *(char *)(*(int *)pcStack_190 + 3)" identifier = (pointer_expression "*(char *)(*(int *)pcStack_190 + 3)" * (cast_expression "(char *)(*(int *)pcStack_190 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pcStack_190 + 3)" ( (binary_expression "*(int *)pcStack_190 + 3" (pointer_expression "*(int *)pcStack_190" * (cast_expression "(int *)pcStack_190" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "ppppcStack_214 = (code ****)0x0;" (assignment_expression "ppppcStack_214 = (code ****)0x0" identifier = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "ppppppcVar26 = ppppppcVar33;" (assignment_expression "ppppppcVar26 = ppppppcVar33" identifier = identifier) ;) (expression_statement "ppppppcVar35 = ppppppcVar23;" (assignment_expression "ppppppcVar35 = ppppppcVar23" identifier = identifier) ;) (expression_statement "pppppcStack_1c8 = (code *****)ppppppcVar5;" (assignment_expression "pppppcStack_1c8 = (code *****)ppppppcVar5" identifier = (cast_expression "(code *****)ppppppcVar5" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_1c4 = (code *****)ppppppcVar32;" (assignment_expression "pppppcStack_1c4 = (code *****)ppppppcVar32" identifier = (cast_expression "(code *****)ppppppcVar32" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "puStack_1c0 = puVar30;" (assignment_expression "puStack_1c0 = puVar30" identifier = identifier) ;) (expression_statement "pppppcStack_1bc = (code *****)ppppppcVar17;" (assignment_expression "pppppcStack_1bc = (code *****)ppppppcVar17" identifier = (cast_expression "(code *****)ppppppcVar17" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_1b8 = (code *****)ppppppcVar21;" (assignment_expression "pppppcStack_1b8 = (code *****)ppppppcVar21" identifier = (cast_expression "(code *****)ppppppcVar21" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_1b4 = (code *****)unaff_s5;" (assignment_expression "pppppcStack_1b4 = (code *****)unaff_s5" identifier = (cast_expression "(code *****)unaff_s5" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_1b0 = (code *****)unaff_s6;" (assignment_expression "pppppcStack_1b0 = (code *****)unaff_s6" identifier = (cast_expression "(code *****)unaff_s6" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_1ac = (code *****)unaff_s7;" (assignment_expression "pppppcStack_1ac = (code *****)unaff_s7" identifier = (cast_expression "(code *****)unaff_s7" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcStack_1a8 = (code *****)unaff_s8;" (assignment_expression "pppppcStack_1a8 = (code *****)unaff_s8" identifier = (cast_expression "(code *****)unaff_s8" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_1a4 = pcVar43;" (assignment_expression "pcStack_1a4 = pcVar43" identifier = identifier) ;) (expression_statement "pppppcStack_1a0 = (code *****)ppppppcVar31;" (assignment_expression "pppppcStack_1a0 = (code *****)ppppppcVar31" identifier = (cast_expression "(code *****)ppppppcVar31" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar4 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4));" (assignment_expression "iVar4 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4))" identifier = (call_expression "(**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4))" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d18))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d18)" * (pointer_expression "*(code **)(pcVar42 + 0x53d18)" * (cast_expression "(code **)(pcVar42 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d18)" ( (binary_expression "pcVar42 + 0x53d18" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_190 + 4))" ( (pointer_expression "*(int *)(pcStack_190 + 4)" * (cast_expression "(int *)(pcStack_190 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_190 + 4)" ( (binary_expression "pcStack_190 + 4" identifier + number_literal) )))) )))) ;) (expression_statement "iVar6 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8));" (assignment_expression "iVar6 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8))" identifier = (call_expression "(**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8))" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d18))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d18)" * (pointer_expression "*(code **)(pcVar42 + 0x53d18)" * (cast_expression "(code **)(pcVar42 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d18)" ( (binary_expression "pcVar42 + 0x53d18" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar40 + 8))" ( (pointer_expression "*(int *)(pcVar40 + 8)" * (cast_expression "(int *)(pcVar40 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 8)" ( (binary_expression "pcVar40 + 8" identifier + number_literal) )))) )))) ;) (expression_statement "ppppppcVar21 = ppppppcVar28;" (assignment_expression "ppppppcVar21 = ppppppcVar28" identifier = identifier) ;) (expression_statement "piVar27 = (int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);" (assignment_expression "piVar27 = (int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28)" identifier = (cast_expression "(int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53ab4))" ( (pointer_expression "**(code **)(pcVar42 + 0x53ab4)" * (pointer_expression "*(code **)(pcVar42 + 0x53ab4)" * (cast_expression "(code **)(pcVar42 + 0x53ab4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53ab4)" ( (binary_expression "pcVar42 + 0x53ab4" identifier + number_literal) ))))) )) (argument_list "(0,ppppppcVar28)" ( number_literal , identifier ))))) ;) (if_statement "if (piVar27 != (int *)0x0) {\n    ppppppcVar26 = ppppppcVar28;\n    (**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);\n    ppppppcVar21 = ppppppcVar28;\n    iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n    if (iStack_284 != 0) {\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }\n  }" if (parenthesized_expression "(piVar27 != (int *)0x0)" ( (binary_expression "piVar27 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    ppppppcVar26 = ppppppcVar28;\n    (**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);\n    ppppppcVar21 = ppppppcVar28;\n    iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n    if (iStack_284 != 0) {\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }\n  }" { (expression_statement "ppppppcVar26 = ppppppcVar28;" (assignment_expression "ppppppcVar26 = ppppppcVar28" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);" (call_expression "(**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d08))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d08)" * (pointer_expression "*(code **)(pcVar42 + 0x53d08)" * (cast_expression "(code **)(pcVar42 + 0x53d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d08)" ( (binary_expression "pcVar42 + 0x53d08" identifier + number_literal) ))))) )) (argument_list "(piVar27,0,ppppppcVar28)" ( identifier , number_literal , identifier ))) ;) (expression_statement "ppppppcVar21 = ppppppcVar28;" (assignment_expression "ppppppcVar21 = ppppppcVar28" identifier = identifier) ;) (expression_statement "iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);" (assignment_expression "iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28)" identifier = (call_expression "(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53ab4))" ( (pointer_expression "**(code **)(pcVar42 + 0x53ab4)" * (pointer_expression "*(code **)(pcVar42 + 0x53ab4)" * (cast_expression "(code **)(pcVar42 + 0x53ab4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53ab4)" ( (binary_expression "pcVar42 + 0x53ab4" identifier + number_literal) ))))) )) (argument_list "(0,ppppppcVar28)" ( number_literal , identifier )))) ;) (if_statement "if (iStack_284 != 0) {\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }" if (parenthesized_expression "(iStack_284 != 0)" ( (binary_expression "iStack_284 != 0" identifier != number_literal) )) (compound_statement "{\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }" { (expression_statement "ppppppcVar21 = (code ******)0x0;" (assignment_expression "ppppppcVar21 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);" (call_expression "(**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d08))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d08)" * (pointer_expression "*(code **)(pcVar42 + 0x53d08)" * (cast_expression "(code **)(pcVar42 + 0x53d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d08)" ( (binary_expression "pcVar42 + 0x53d08" identifier + number_literal) ))))) )) (argument_list "(iStack_284,0,ppppppcVar28)" ( identifier , number_literal , identifier ))) ;) (if_statement "if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }" if (parenthesized_expression "((code ******)pppppcStack_218 != (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_218 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_218" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }" { (expression_statement "ppppppcVar5 = (code ******)0x0;" (assignment_expression "ppppppcVar5 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) (expression_statement "iVar7 = *(int *)(pcVar42 + 0x5393c);" (assignment_expression "iVar7 = *(int *)(pcVar42 + 0x5393c)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x5393c)" * (cast_expression "(int *)(pcVar42 + 0x5393c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x5393c)" ( (binary_expression "pcVar42 + 0x5393c" identifier + number_literal) ))))) ;) (if_statement "if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }" if (parenthesized_expression "((int)ppppppcVar23 < 4)" ( (binary_expression "(int)ppppppcVar23 < 4" (cast_expression "(int)ppppppcVar23" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }" { (expression_statement "pppppcVar29 = (code *****)0x0;" (assignment_expression "pppppcVar29 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" identifier = number_literal) ;) (expression_statement "bVar2 = 0;" (assignment_expression "bVar2 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }" else (compound_statement "{\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }" { (expression_statement "pcVar43 = pcVar40 + 0xc;" (assignment_expression "pcVar43 = pcVar40 + 0xc" identifier = (binary_expression "pcVar40 + 0xc" identifier + number_literal)) ;) (expression_statement "pppppcVar29 = (code *****)0x0;" (assignment_expression "pppppcVar29 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = *(int *)(pcVar42 + 0x5392c);" (assignment_expression "iVar8 = *(int *)(pcVar42 + 0x5392c)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x5392c)" * (cast_expression "(int *)(pcVar42 + 0x5392c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x5392c)" ( (binary_expression "pcVar42 + 0x5392c" identifier + number_literal) ))))) ;) (expression_statement "ppppppcVar5 = (code ******)0x3;" (assignment_expression "ppppppcVar5 = (code ******)0x3" identifier = (cast_expression "(code ******)0x3" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "bVar2 = 0;" (assignment_expression "bVar2 = 0" identifier = number_literal) ;) (expression_statement "iVar9 = *(int *)(pcVar42 + 0x539b0);" (assignment_expression "iVar9 = *(int *)(pcVar42 + 0x539b0)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x539b0)" * (cast_expression "(int *)(pcVar42 + 0x539b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x539b0)" ( (binary_expression "pcVar42 + 0x539b0" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(pcVar42 + 0x53a70);" (assignment_expression "iVar10 = *(int *)(pcVar42 + 0x53a70)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x53a70)" * (cast_expression "(int *)(pcVar42 + 0x53a70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53a70)" ( (binary_expression "pcVar42 + 0x53a70" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar11 = *(int *)(pcVar42 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) ))))) ;) (do_statement "do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);" do (compound_statement "{\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        }" { (expression_statement "ppppppcVar31 = *(code *******)pcVar43;" (assignment_expression "ppppppcVar31 = *(code *******)pcVar43" identifier = (pointer_expression "*(code *******)pcVar43" * (cast_expression "(code *******)pcVar43" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ;) (if_statement "if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }" if (parenthesized_expression "(((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12))" ( (binary_expression "((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)" (parenthesized_expression "((code *****)ppppcStack_214 == (code *****)0x0)" ( (binary_expression "(code *****)ppppcStack_214 == (code *****)0x0" (cast_expression "(code *****)ppppcStack_214" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) && (parenthesized_expression "(uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)" ( (comma_expression "uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12" (assignment_expression "uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31)" identifier = (call_expression "(**(code **)(pcVar42 + 0x53d18))(ppppppcVar31)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d18))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d18)" * (pointer_expression "*(code **)(pcVar42 + 0x53d18)" * (cast_expression "(code **)(pcVar42 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d18)" ( (binary_expression "pcVar42 + 0x53d18" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar31)" ( identifier )))) , (binary_expression "8 < uVar12" number_literal < identifier)) ))) )) (compound_statement "{\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }" { (expression_statement "ppppppcVar28 = (code ******)&DAT_00000008;" (assignment_expression "ppppppcVar28 = (code ******)&DAT_00000008" identifier = (cast_expression "(code ******)&DAT_00000008" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000008" & identifier))) ;) (expression_statement "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);" (assignment_expression "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344)" identifier = (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x2344)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x2344" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);" (assignment_expression "iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8)" identifier = (call_expression "(**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53a5c))" ( (pointer_expression "**(code **)(pcVar42 + 0x53a5c)" * (pointer_expression "*(code **)(pcVar42 + 0x53a5c)" * (cast_expression "(code **)(pcVar42 + 0x53a5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53a5c)" ( (binary_expression "pcVar42 + 0x53a5c" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar31,ppppppcVar21,8)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar13 != 0) goto LAB_00107e50;" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00107e50;" goto statement_identifier ;)) (if_statement "if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;" if (parenthesized_expression "(((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0'))" ( (binary_expression "((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')" (parenthesized_expression "((char)*(code *)(ppppppcVar31 + 2) < 0)" ( (binary_expression "(char)*(code *)(ppppppcVar31 + 2) < 0" (cast_expression "(char)*(code *)(ppppppcVar31 + 2)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)(ppppppcVar31 + 2)" * (cast_expression "(code *)(ppppppcVar31 + 2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcVar31 + 2)" ( (binary_expression "ppppppcVar31 + 2" identifier + number_literal) ))))) < number_literal) )) || (parenthesized_expression "(*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')" ( (binary_expression "*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0'" (pointer_expression "*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0)" * (cast_expression "(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0)" ( (binary_expression "(int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0" (binary_expression "(int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950)" (cast_expression "(int)(char)*(code *)(ppppppcVar31 + 2)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(code *)(ppppppcVar31 + 2)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)(ppppppcVar31 + 2)" * (cast_expression "(code *)(ppppppcVar31 + 2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcVar31 + 2)" ( (binary_expression "ppppppcVar31 + 2" identifier + number_literal) )))))) + (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) ))))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00107e50;" goto statement_identifier ;)) (expression_statement "ppppppcVar28 = (code ******)&ppppcStack_214;" (assignment_expression "ppppppcVar28 = (code ******)&ppppcStack_214" identifier = (cast_expression "(code ******)&ppppcStack_214" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&ppppcStack_214" & identifier))) ;) (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9)" identifier = (cast_expression "(code ******)((int)ppppppcVar31 + 9)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar31 + 9)" ( (binary_expression "(int)ppppppcVar31 + 9" (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppppppcVar35 = ppppppcVar38;" (assignment_expression "ppppppcVar35 = ppppppcVar38" identifier = identifier) ;) (expression_statement "pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);" (assignment_expression "pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28)" identifier = (cast_expression "(code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28)" (parenthesized_expression "(*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))" ( (pointer_expression "*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" * (cast_expression "(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" ( (binary_expression "*(int *)(pcVar42 + 0x53a58) + -0x73a8" (pointer_expression "*(int *)(pcVar42 + 0x53a58)" * (cast_expression "(int *)(pcVar42 + 0x53a58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53a58)" ( (binary_expression "pcVar42 + 0x53a58" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppppcVar33,ppppppcVar21,ppppppcVar28)" ( identifier , identifier , identifier ))))) ;) }) (else_clause "else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }" else (compound_statement "{\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }" { (labeled_statement "LAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }" statement_identifier : (if_statement "if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }" if (parenthesized_expression "(cVar1 == '4')" ( (binary_expression "cVar1 == '4'" identifier == (char_literal "'4'" ' character ')) )) (compound_statement "{\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }" { (expression_statement "pppppcVar37 = (code *****)0x0;" (assignment_expression "pppppcVar37 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" identifier = identifier) ;) (if_statement "if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }" if (parenthesized_expression "(*(code *)ppppppcVar31 == (code)0x3d)" ( (binary_expression "*(code *)ppppppcVar31 == (code)0x3d" (pointer_expression "*(code *)ppppppcVar31" * (cast_expression "(code *)ppppppcVar31" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (cast_expression "(code)0x3d" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }" { (labeled_statement "LAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);" statement_identifier : (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1)" identifier = (cast_expression "(code ******)((int)ppppppcVar21 + 1)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar21 + 1)" ( (binary_expression "(int)ppppppcVar21 + 1" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);" (assignment_expression "ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21)" identifier = (cast_expression "(code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 0x71f4,ppppppcVar21)" ( (binary_expression "iVar7 + 0x71f4" identifier + number_literal) , identifier ))))) ;) (if_statement "if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }" if (parenthesized_expression "(ppppppcVar17 == (code ******)0x0)" ( (binary_expression "ppppppcVar17 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }" { (expression_statement "pppppcStack_218 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_218 = (code *****)&DAT_00000007" identifier = (cast_expression "(code *****)&DAT_00000007" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }) (else_clause "else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }" else (compound_statement "{\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }" { (expression_statement "(*(code *)(iVar9 + 0x1120))(ppppppcVar17);" (call_expression "(*(code *)(iVar9 + 0x1120))(ppppppcVar17)" (parenthesized_expression "(*(code *)(iVar9 + 0x1120))" ( (pointer_expression "*(code *)(iVar9 + 0x1120)" * (cast_expression "(code *)(iVar9 + 0x1120)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1120)" ( (binary_expression "iVar9 + 0x1120" identifier + number_literal) )))) )) (argument_list "(ppppppcVar17)" ( identifier ))) ;) (expression_statement "ppppppcVar35 = (code ******)appppcStack_20c;" (assignment_expression "ppppppcVar35 = (code ******)appppcStack_20c" identifier = (cast_expression "(code ******)appppcStack_20c" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "puVar30 = (uint *)(iVar8 + -0x5f24);" (assignment_expression "puVar30 = (uint *)(iVar8 + -0x5f24)" identifier = (cast_expression "(uint *)(iVar8 + -0x5f24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x5f24)" ( (binary_expression "iVar8 + -0x5f24" identifier + number_literal) )))) ;) (expression_statement "ppppppcVar21 = ppppppcVar35;" (assignment_expression "ppppppcVar21 = ppppppcVar35" identifier = identifier) ;) (do_statement "do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));" do (compound_statement "{\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  }" { (expression_statement "puVar14 = puVar30 + 4;" (assignment_expression "puVar14 = puVar30 + 4" identifier = (binary_expression "puVar30 + 4" identifier + number_literal)) ;) (expression_statement "*ppppppcVar21 = (code *****)*puVar30;" (assignment_expression "*ppppppcVar21 = (code *****)*puVar30" (pointer_expression "*ppppppcVar21" * identifier) = (cast_expression "(code *****)*puVar30" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*puVar30" * identifier))) ;) (expression_statement "pppppcVar22 = (code *****)puVar30[2];" (assignment_expression "pppppcVar22 = (code *****)puVar30[2]" identifier = (cast_expression "(code *****)puVar30[2]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "puVar30[2]" identifier [ number_literal ]))) ;) (expression_statement "pppppcVar19 = (code *****)puVar30[3];" (assignment_expression "pppppcVar19 = (code *****)puVar30[3]" identifier = (cast_expression "(code *****)puVar30[3]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "puVar30[3]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar21[1] = (code *****)puVar30[1];" (assignment_expression "ppppppcVar21[1] = (code *****)puVar30[1]" (subscript_expression "ppppppcVar21[1]" identifier [ number_literal ]) = (cast_expression "(code *****)puVar30[1]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "puVar30[1]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar21[2] = pppppcVar22;" (assignment_expression "ppppppcVar21[2] = pppppcVar22" (subscript_expression "ppppppcVar21[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar21[3] = pppppcVar19;" (assignment_expression "ppppppcVar21[3] = pppppcVar19" (subscript_expression "ppppppcVar21[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar30 = puVar14;" (assignment_expression "puVar30 = puVar14" identifier = identifier) ;) (expression_statement "ppppppcVar21 = ppppppcVar21 + 4;" (assignment_expression "ppppppcVar21 = ppppppcVar21 + 4" identifier = (binary_expression "ppppppcVar21 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar14 != (uint *)(iVar8 + -0x5ee4))" ( (binary_expression "puVar14 != (uint *)(iVar8 + -0x5ee4)" identifier != (cast_expression "(uint *)(iVar8 + -0x5ee4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x5ee4)" ( (binary_expression "iVar8 + -0x5ee4" identifier + number_literal) )))) )) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "ppppppcVar21 = ppppppcVar35;" (assignment_expression "ppppppcVar21 = ppppppcVar35" identifier = identifier) ;) (do_statement "do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);" do (compound_statement "{\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  }" { (if_statement "if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }" if (parenthesized_expression "((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0))" ( (binary_expression "(ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)" (parenthesized_expression "(ppppppcVar21[1] == pppppcVar37)" ( (binary_expression "ppppppcVar21[1] == pppppcVar37" (subscript_expression "ppppppcVar21[1]" identifier [ number_literal ]) == identifier) )) && (parenthesized_expression "(iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)" ( (comma_expression "iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0" (assignment_expression "iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37)" identifier = (call_expression "(**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53a5c))" ( (pointer_expression "**(code **)(pcVar42 + 0x53a5c)" * (pointer_expression "*(code **)(pcVar42 + 0x53a5c)" * (cast_expression "(code **)(pcVar42 + 0x53a5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53a5c)" ( (binary_expression "pcVar42 + 0x53a5c" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar31,*ppppppcVar21,pppppcVar37)" ( identifier , (pointer_expression "*ppppppcVar21" * identifier) , identifier )))) , (binary_expression "iVar13 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }" { (if_statement "if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }" if (parenthesized_expression "(uVar12 < 8)" ( (binary_expression "uVar12 < 8" identifier < number_literal) )) (compound_statement "{\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }" { (expression_statement "ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();" (assignment_expression "ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))()" identifier = (cast_expression "(code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))()" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))()" (parenthesized_expression "(*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))" ( (pointer_expression "*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         )" * (parenthesized_expression "(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         )" ( (binary_expression "pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904" (binary_expression "pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4)" identifier + (pointer_expression "*(int *)(iVar11 + 0x1b1c + uVar12 * 4)" * (cast_expression "(int *)(iVar11 + 0x1b1c + uVar12 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1b1c + uVar12 * 4)" ( (binary_expression "iVar11 + 0x1b1c + uVar12 * 4" (binary_expression "iVar11 + 0x1b1c" identifier + number_literal) + (binary_expression "uVar12 * 4" identifier * number_literal)) ))))) + number_literal) ))) )) (argument_list "()" ( ))))) ;) (return_statement "return ppppppcVar21;" return identifier ;) })) (expression_statement "iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);" (assignment_expression "iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17)" identifier = (call_expression "(**(code **)(pcVar42 + 0x53d18))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d18))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d18)" * (pointer_expression "*(code **)(pcVar42 + 0x53d18)" * (cast_expression "(code **)(pcVar42 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d18)" ( (binary_expression "pcVar42 + 0x53d18" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar17)" ( identifier )))) ;) (if_statement "if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }" if (parenthesized_expression "(iVar13 == 4)" ( (binary_expression "iVar13 == 4" identifier == number_literal) )) (compound_statement "{\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }" { (expression_statement "ppppppcVar31 = (code ******)&DAT_00000004;" (assignment_expression "ppppppcVar31 = (code ******)&DAT_00000004" identifier = (cast_expression "(code ******)&DAT_00000004" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000004" & identifier))) ;) (expression_statement "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);" (assignment_expression "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528)" identifier = (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x2528)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x2528" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);" (assignment_expression "iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4)" identifier = (call_expression "(**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53a5c))" ( (pointer_expression "**(code **)(pcVar42 + 0x53a5c)" * (pointer_expression "*(code **)(pcVar42 + 0x53a5c)" * (cast_expression "(code **)(pcVar42 + 0x53a5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53a5c)" ( (binary_expression "pcVar42 + 0x53a5c" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar17,ppppppcVar21,4)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }" { (expression_statement "bVar2 = 1;" (assignment_expression "bVar2 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0010823c;" goto statement_identifier ;) })) })) (expression_statement "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);" (assignment_expression "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698)" identifier = (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x3698)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3698" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppppcVar31 = ppppppcVar17;" (assignment_expression "ppppppcVar31 = ppppppcVar17" identifier = identifier) ;) (expression_statement "(*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);" (call_expression "(*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17)" (parenthesized_expression "(*(code *)(iVar10 + 0x2618))" ( (pointer_expression "*(code *)(iVar10 + 0x2618)" * (cast_expression "(code *)(iVar10 + 0x2618)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2618)" ( (binary_expression "iVar10 + 0x2618" identifier + number_literal) )))) )) (argument_list "(ppppppcVar38,ppppppcVar21,ppppppcVar17)" ( identifier , identifier , identifier ))) ;) (expression_statement "bVar2 = 1;" (assignment_expression "bVar2 = 1" identifier = number_literal) ;) (expression_statement "pppppcStack_218 = (code *****)0x1;" (assignment_expression "pppppcStack_218 = (code *****)0x1" identifier = (cast_expression "(code *****)0x1" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (goto_statement "goto LAB_0010823c;" goto statement_identifier ;) })) (expression_statement "uVar12 = uVar12 + 1;" (assignment_expression "uVar12 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;) (expression_statement "ppppppcVar21 = ppppppcVar21 + 2;" (assignment_expression "ppppppcVar21 = ppppppcVar21 + 2" identifier = (binary_expression "ppppppcVar21 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar12 != 8)" ( (binary_expression "uVar12 != 8" identifier != number_literal) )) ;) (expression_statement "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);" (assignment_expression "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658)" identifier = (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x3658)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3658" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);" (call_expression "(*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31)" (parenthesized_expression "(*(code *)(iVar10 + 0x2618))" ( (pointer_expression "*(code *)(iVar10 + 0x2618)" * (cast_expression "(code *)(iVar10 + 0x2618)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2618)" ( (binary_expression "iVar10 + 0x2618" identifier + number_literal) )))) )) (argument_list "(ppppppcVar38,ppppppcVar21,ppppppcVar31)" ( identifier , identifier , identifier ))) ;) (expression_statement "pppppcStack_218 = (code *****)0x1;" (assignment_expression "pppppcStack_218 = (code *****)0x1" identifier = (cast_expression "(code *****)0x1" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (labeled_statement "LAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);" statement_identifier : (expression_statement "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17);" (call_expression "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar17)" ( identifier ))) ;)) (expression_statement "ppppppcVar28 = ppppppcVar31;" (assignment_expression "ppppppcVar28 = ppppppcVar31" identifier = identifier) ;) }))) (goto_statement "goto LAB_00107e88;" goto statement_identifier ;) })) (if_statement "if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;" if (parenthesized_expression "(*(code *)ppppppcVar31 == (code)0x0)" ( (binary_expression "*(code *)ppppppcVar31 == (code)0x0" (pointer_expression "*(code *)ppppppcVar31" * (cast_expression "(code *)ppppppcVar31" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_00107e5c;" goto statement_identifier ;)) (do_statement "do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);" do (compound_statement "{\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              }" { (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1)" identifier = (cast_expression "(code ******)((int)ppppppcVar21 + 1)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar21 + 1)" ( (binary_expression "(int)ppppppcVar21 + 1" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);" (assignment_expression "pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31)" identifier = (cast_expression "(code *****)((int)ppppppcVar21 - (int)ppppppcVar31)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppcVar21 - (int)ppppppcVar31)" ( (binary_expression "(int)ppppppcVar21 - (int)ppppppcVar31" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;" if (parenthesized_expression "(*(code *)ppppppcVar21 == (code)0x3d)" ( (binary_expression "*(code *)ppppppcVar21 == (code)0x3d" (pointer_expression "*(code *)ppppppcVar21" * (cast_expression "(code *)ppppppcVar21" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == (cast_expression "(code)0x3d" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_001080a4;" goto statement_identifier ;)) (expression_statement "pcVar41 = *(code **)(pcVar42 + 0x53d18);" (assignment_expression "pcVar41 = *(code **)(pcVar42 + 0x53d18)" identifier = (pointer_expression "*(code **)(pcVar42 + 0x53d18)" * (cast_expression "(code **)(pcVar42 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d18)" ( (binary_expression "pcVar42 + 0x53d18" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(code *)ppppppcVar21 != (code)0x0)" ( (binary_expression "*(code *)ppppppcVar21 != (code)0x0" (pointer_expression "*(code *)ppppppcVar21" * (cast_expression "(code *)ppppppcVar21" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) ;) }) (else_clause "else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }" else (compound_statement "{\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }" { (labeled_statement "LAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);" statement_identifier : (expression_statement "pcVar41 = *(code **)(pcVar42 + 0x53d18);" (assignment_expression "pcVar41 = *(code **)(pcVar42 + 0x53d18)" identifier = (pointer_expression "*(code **)(pcVar42 + 0x53d18)" * (cast_expression "(code **)(pcVar42 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d18)" ( (binary_expression "pcVar42 + 0x53d18" identifier + number_literal) ))))) ;)) })))) (expression_statement "iVar13 = (*pcVar41)(ppppppcVar31);" (assignment_expression "iVar13 = (*pcVar41)(ppppppcVar31)" identifier = (call_expression "(*pcVar41)(ppppppcVar31)" (parenthesized_expression "(*pcVar41)" ( (pointer_expression "*pcVar41" * identifier) )) (argument_list "(ppppppcVar31)" ( identifier )))) ;) (expression_statement "iVar36 = iVar36 + 1 + iVar13;" (assignment_expression "iVar36 = iVar36 + 1 + iVar13" identifier = (binary_expression "iVar36 + 1 + iVar13" (binary_expression "iVar36 + 1" identifier + number_literal) + identifier)) ;) (expression_statement "piVar16 = piVar27 + (int)pppppcVar29;" (assignment_expression "piVar16 = piVar27 + (int)pppppcVar29" identifier = (binary_expression "piVar27 + (int)pppppcVar29" identifier + (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pppppcVar29 = (code *****)((int)pppppcVar29 + 1);" (assignment_expression "pppppcVar29 = (code *****)((int)pppppcVar29 + 1)" identifier = (cast_expression "(code *****)((int)pppppcVar29 + 1)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppcVar29 + 1)" ( (binary_expression "(int)pppppcVar29 + 1" (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*piVar16 = (int)ppppppcVar31;" (assignment_expression "*piVar16 = (int)ppppppcVar31" (pointer_expression "*piVar16" * identifier) = (cast_expression "(int)ppppppcVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (labeled_statement "LAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);" statement_identifier : (expression_statement "ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);" (assignment_expression "ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1)" identifier = (cast_expression "(code ******)((int)ppppppcVar5 + 1)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar5 + 1)" ( (binary_expression "(int)ppppppcVar5 + 1" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (if_statement "if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }" if (parenthesized_expression "((code ******)pppppcStack_218 != (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_218 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_218" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }" { (expression_statement "ppppppcVar5 = (code ******)0x0;" (assignment_expression "ppppppcVar5 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) (expression_statement "pcVar43 = pcVar43 + 4;" (assignment_expression "pcVar43 = pcVar43 + 4" identifier = (binary_expression "pcVar43 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(ppppppcVar23 != ppppppcVar5)" ( (binary_expression "ppppppcVar23 != ppppppcVar5" identifier != identifier) )) ;) }))) (if_statement "if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }" if (parenthesized_expression "(pppppcVar29 == (code *****)0x0)" ( (binary_expression "pppppcVar29 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }" { (expression_statement "pppppcVar29 = (code *****)0x1;" (assignment_expression "pppppcVar29 = (code *****)0x1" identifier = (cast_expression "(code *****)0x1" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iVar36 = 8;" (assignment_expression "iVar36 = 8" identifier = number_literal) ;) (expression_statement "*piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;" (assignment_expression "*piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48" (pointer_expression "*piVar27" * identifier) = (binary_expression "*(int *)(pcVar42 + 0x5393c) + 0x6a48" (pointer_expression "*(int *)(pcVar42 + 0x5393c)" * (cast_expression "(int *)(pcVar42 + 0x5393c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x5393c)" ( (binary_expression "pcVar42 + 0x5393c" identifier + number_literal) )))) + number_literal)) ;) })) (if_statement "if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }" if (parenthesized_expression "((code *****)ppppcStack_214 == (code *****)0x0)" ( (binary_expression "(code *****)ppppcStack_214 == (code *****)0x0" (cast_expression "(code *****)ppppcStack_214" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }" { (expression_statement "ppppppcVar28 = (code ******)&ppppcStack_214;" (assignment_expression "ppppppcVar28 = (code ******)&ppppcStack_214" identifier = (cast_expression "(code ******)&ppppcStack_214" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&ppppcStack_214" & identifier))) ;) (expression_statement "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);" (assignment_expression "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8)" identifier = (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x3ef8)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3ef8" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);" (assignment_expression "pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28)" identifier = (cast_expression "(code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28)" (parenthesized_expression "(*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))" ( (pointer_expression "*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" * (cast_expression "(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" ( (binary_expression "*(int *)(pcVar42 + 0x53a58) + -0x73a8" (pointer_expression "*(int *)(pcVar42 + 0x53a58)" * (cast_expression "(int *)(pcVar42 + 0x53a58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53a58)" ( (binary_expression "pcVar42 + 0x53a58" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppppcVar33,ppppppcVar21,ppppppcVar28)" ( identifier , identifier , identifier ))))) ;) (expression_statement "ppppppcVar35 = ppppppcVar38;" (assignment_expression "ppppppcVar35 = ppppppcVar38" identifier = identifier) ;) (if_statement "if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }" if (parenthesized_expression "((code ******)pppppcStack_218 != (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_218 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_218" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }" { (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" identifier = number_literal) ;) (expression_statement "ppppppcVar5 = (code ******)0x0;" (assignment_expression "ppppppcVar5 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) })) (expression_statement "ppppppcVar21 = (code ******)0x18;" (assignment_expression "ppppppcVar21 = (code ******)0x18" identifier = (cast_expression "(code ******)0x18" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);" (assignment_expression "iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18)" identifier = (call_expression "(**(code **)(pcVar42 + 0x53ab4))(0,0x18)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53ab4))" ( (pointer_expression "**(code **)(pcVar42 + 0x53ab4)" * (pointer_expression "*(code **)(pcVar42 + 0x53ab4)" * (cast_expression "(code **)(pcVar42 + 0x53ab4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53ab4)" ( (binary_expression "pcVar42 + 0x53ab4" identifier + number_literal) ))))) )) (argument_list "(0,0x18)" ( number_literal , number_literal )))) ;) (if_statement "if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }" if (parenthesized_expression "(iStack_278 == 0)" ( (binary_expression "iStack_278 == 0" identifier == number_literal) )) (compound_statement "{\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }" { (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" identifier = number_literal) ;) (expression_statement "ppppppcVar5 = (code ******)0x0;" (assignment_expression "ppppppcVar5 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppcStack_218 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_218 = (code *****)&DAT_00000007" identifier = (cast_expression "(code *****)&DAT_00000007" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);" (call_expression "(**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d08))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d08)" * (pointer_expression "*(code **)(pcVar42 + 0x53d08)" * (cast_expression "(code **)(pcVar42 + 0x53d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d08)" ( (binary_expression "pcVar42 + 0x53d08" identifier + number_literal) ))))) )) (argument_list "(iStack_278,0,0x18)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pppppcStack_218 = (code *****)0x0;" (assignment_expression "pppppcStack_218 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);" (assignment_expression "ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4)" identifier = (cast_expression "(code ******)(((int)pppppcVar29 + 0x4eU) * 4)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(((int)pppppcVar29 + 0x4eU) * 4)" ( (binary_expression "((int)pppppcVar29 + 0x4eU) * 4" (parenthesized_expression "((int)pppppcVar29 + 0x4eU)" ( (binary_expression "(int)pppppcVar29 + 0x4eU" (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) * number_literal) )))) ;) (expression_statement "ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);" (assignment_expression "ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4)" identifier = (cast_expression "(code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4)" ( (binary_expression "(int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4" (binary_expression "(int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1" (binary_expression "(int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6" (binary_expression "(int)ppppppcVar28 + (int)pppppcVar29 + iVar36" (binary_expression "(int)ppppppcVar28 + (int)pppppcVar29" (cast_expression "(int)ppppppcVar28" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier)) + identifier) + identifier) + number_literal) + identifier) )))) ;) (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" identifier = identifier) ;) (expression_statement "ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);" (assignment_expression "ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31)" identifier = (cast_expression "(code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53ab4))" ( (pointer_expression "**(code **)(pcVar42 + 0x53ab4)" * (pointer_expression "*(code **)(pcVar42 + 0x53ab4)" * (cast_expression "(code **)(pcVar42 + 0x53ab4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53ab4)" ( (binary_expression "pcVar42 + 0x53ab4" identifier + number_literal) ))))) )) (argument_list "(0,ppppppcVar31)" ( number_literal , identifier ))))) ;) (if_statement "if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }" if (parenthesized_expression "(ppppppcVar5 == (code ******)0x0)" ( (binary_expression "ppppppcVar5 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }" { (expression_statement "pppppcStack_218 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_218 = (code *****)&DAT_00000007" identifier = (cast_expression "(code *****)&DAT_00000007" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);" (call_expression "(**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d08))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d08)" * (pointer_expression "*(code **)(pcVar42 + 0x53d08)" * (cast_expression "(code **)(pcVar42 + 0x53d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d08)" ( (binary_expression "pcVar42 + 0x53d08" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5,0,ppppppcVar31)" ( identifier , number_literal , identifier ))) ;) (expression_statement "ppppppcVar21 = ppppppcVar5 + 0x48;" (assignment_expression "ppppppcVar21 = ppppppcVar5 + 0x48" identifier = (binary_expression "ppppppcVar5 + 0x48" identifier + number_literal)) ;) (expression_statement "ppppppcVar5[6] = pppppcVar29;" (assignment_expression "ppppppcVar5[6] = pppppcVar29" (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar5[3] = pppppcVar25;" (assignment_expression "ppppppcVar5[3] = pppppcVar25" (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar5[0x42] = (code *****)0x0;" (assignment_expression "ppppppcVar5[0x42] = (code *****)0x0" (subscript_expression "ppppppcVar5[0x42]" identifier [ number_literal ]) = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar5[7] = (code *****)ppppppcVar21;" (assignment_expression "ppppppcVar5[7] = (code *****)ppppppcVar21" (subscript_expression "ppppppcVar5[7]" identifier [ number_literal ]) = (cast_expression "(code *****)ppppppcVar21" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppppcVar5[9] = (code *****)ppppcStack_214;" (assignment_expression "ppppppcVar5[9] = (code *****)ppppcStack_214" (subscript_expression "ppppppcVar5[9]" identifier [ number_literal ]) = (cast_expression "(code *****)ppppcStack_214" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppppcVar5[0x41] = (code *****)0x100000;" (assignment_expression "ppppppcVar5[0x41] = (code *****)0x100000" (subscript_expression "ppppppcVar5[0x41]" identifier [ number_literal ]) = (cast_expression "(code *****)0x100000" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }" if (parenthesized_expression "(cVar1 == '4')" ( (binary_expression "cVar1 == '4'" identifier == (char_literal "'4'" ' character ')) )) (compound_statement "{\n        cVar20 = (code)(bVar2 ^ 1);\n      }" { (expression_statement "cVar20 = (code)(bVar2 ^ 1);" (assignment_expression "cVar20 = (code)(bVar2 ^ 1)" identifier = (call_expression "(code)(bVar2 ^ 1)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar2 ^ 1)" ( (binary_expression "bVar2 ^ 1" identifier ^ number_literal) )))) ;) }) (else_clause "else {\n        cVar20 = (code)0x0;\n      }" else (compound_statement "{\n        cVar20 = (code)0x0;\n      }" { (expression_statement "cVar20 = (code)0x0;" (assignment_expression "cVar20 = (code)0x0" identifier = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) }))) (expression_statement "*(code *)((int)ppppppcVar5 + 0xea) = cVar20;" (assignment_expression "*(code *)((int)ppppppcVar5 + 0xea) = cVar20" (pointer_expression "*(code *)((int)ppppppcVar5 + 0xea)" * (cast_expression "(code *)((int)ppppppcVar5 + 0xea)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 0xea)" ( (binary_expression "(int)ppppppcVar5 + 0xea" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pcVar43 = *(code **)(pcVar42 + 0x53d84);" (assignment_expression "pcVar43 = *(code **)(pcVar42 + 0x53d84)" identifier = (pointer_expression "*(code **)(pcVar42 + 0x53d84)" * (cast_expression "(code **)(pcVar42 + 0x53d84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d84)" ( (binary_expression "pcVar42 + 0x53d84" identifier + number_literal) ))))) ;) (expression_statement "*(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;" (assignment_expression "*(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0" (pointer_expression "*(code *)((int)ppppppcVar5 + 0xeb)" * (cast_expression "(code *)((int)ppppppcVar5 + 0xeb)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 0xeb)" ( (binary_expression "(int)ppppppcVar5 + 0xeb" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "ppppppcVar5[10] = (code *****)0x0;" (assignment_expression "ppppppcVar5[10] = (code *****)0x0" (subscript_expression "ppppppcVar5[10]" identifier [ number_literal ]) = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar5[0xb] = (code *****)0x0;" (assignment_expression "ppppppcVar5[0xb] = (code *****)0x0" (subscript_expression "ppppppcVar5[0xb]" identifier [ number_literal ]) = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);" (assignment_expression "ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29)" (subscript_expression "ppppppcVar5[0x40]" identifier [ number_literal ]) = (cast_expression "(code *****)(ppppppcVar21 + (int)pppppcVar29)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(ppppppcVar21 + (int)pppppcVar29)" ( (binary_expression "ppppppcVar21 + (int)pppppcVar29" identifier + (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppcVar5[0xc] = (code *****)0xff;" (assignment_expression "ppppppcVar5[0xc] = (code *****)0xff" (subscript_expression "ppppppcVar5[0xc]" identifier [ number_literal ]) = (cast_expression "(code *****)0xff" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "*(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';" (assignment_expression "*(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4'" (pointer_expression "*(bool *)((int)ppppppcVar5 + 0xe9)" * (cast_expression "(bool *)((int)ppppppcVar5 + 0xe9)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 0xe9)" ( (binary_expression "(int)ppppppcVar5 + 0xe9" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "cVar1 == '4'" identifier == (char_literal "'4'" ' character '))) ;) (expression_statement "*(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';" (assignment_expression "*(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4'" (pointer_expression "*(bool *)(ppppppcVar5 + 0x3a)" * (cast_expression "(bool *)(ppppppcVar5 + 0x3a)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcVar5 + 0x3a)" ( (binary_expression "ppppppcVar5 + 0x3a" identifier + number_literal) )))) = (binary_expression "cVar1 == '4'" identifier == (char_literal "'4'" ' character '))) ;) (expression_statement "(*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);" (call_expression "(*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18)" (parenthesized_expression "(*pcVar43)" ( (pointer_expression "*pcVar43" * identifier) )) (argument_list "(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18)" ( (binary_expression "ppppppcVar21 + (int)pppppcVar29" identifier + (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier , number_literal ))) ;) (expression_statement "ppppppcVar5[0x3f] = (code *****)0x1;" (assignment_expression "ppppppcVar5[0x3f] = (code *****)0x1" (subscript_expression "ppppppcVar5[0x3f]" identifier [ number_literal ]) = (cast_expression "(code *****)0x1" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);" do (compound_statement "{\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      }" { (expression_statement "pppppcVar25 = ppppppcVar5[0x40];" (assignment_expression "pppppcVar25 = ppppppcVar5[0x40]" identifier = (subscript_expression "ppppppcVar5[0x40]" identifier [ number_literal ])) ;) (expression_statement "iVar36 = iVar36 + 1;" (assignment_expression "iVar36 = iVar36 + 1" identifier = (binary_expression "iVar36 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;" (assignment_expression "*(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101" (pointer_expression "*(undefined2 *)((int)pppppcVar25 + iVar7 + 4)" * (cast_expression "(undefined2 *)((int)pppppcVar25 + iVar7 + 4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar25 + iVar7 + 4)" ( (binary_expression "(int)pppppcVar25 + iVar7 + 4" (binary_expression "(int)pppppcVar25 + iVar7" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;" (assignment_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0" (pointer_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc)" * (cast_expression "(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar25 + iVar7 + 0xc)" ( (binary_expression "(int)pppppcVar25 + iVar7 + 0xc" (binary_expression "(int)pppppcVar25 + iVar7" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;" (assignment_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0" (pointer_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 8)" * (cast_expression "(undefined4 *)((int)pppppcVar25 + iVar7 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar25 + iVar7 + 8)" ( (binary_expression "(int)pppppcVar25 + iVar7 + 8" (binary_expression "(int)pppppcVar25 + iVar7" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;" (assignment_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0" (pointer_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10)" * (cast_expression "(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar25 + iVar7 + 0x10)" ( (binary_expression "(int)pppppcVar25 + iVar7 + 0x10" (binary_expression "(int)pppppcVar25 + iVar7" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;" (assignment_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0" (pointer_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14)" * (cast_expression "(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar25 + iVar7 + 0x14)" ( (binary_expression "(int)pppppcVar25 + iVar7 + 0x14" (binary_expression "(int)pppppcVar25 + iVar7" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = iVar7 + 0x18;" (assignment_expression "iVar7 = iVar7 + 0x18" identifier = (binary_expression "iVar7 + 0x18" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar36 != 1)" ( (binary_expression "iVar36 != 1" identifier != number_literal) )) ;) (expression_statement "pcVar43 = *(code **)(pcVar42 + 0x53d84);" (assignment_expression "pcVar43 = *(code **)(pcVar42 + 0x53d84)" identifier = (pointer_expression "*(code **)(pcVar42 + 0x53d84)" * (cast_expression "(code **)(pcVar42 + 0x53d84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d84)" ( (binary_expression "pcVar42 + 0x53d84" identifier + number_literal) ))))) ;) (expression_statement "pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);" (assignment_expression "pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29)" identifier = (cast_expression "(code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29)" ( (binary_expression "(int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29" (cast_expression "(int)(ppppppcVar5[0x40] + 6)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppppppcVar5[0x40] + 6)" ( (binary_expression "ppppppcVar5[0x40] + 6" (subscript_expression "ppppppcVar5[0x40]" identifier [ number_literal ]) + number_literal) ))) + (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppcVar5[8] = ppppppcVar5[0x40] + 6;" (assignment_expression "ppppppcVar5[8] = ppppppcVar5[0x40] + 6" (subscript_expression "ppppppcVar5[8]" identifier [ number_literal ]) = (binary_expression "ppppppcVar5[0x40] + 6" (subscript_expression "ppppppcVar5[0x40]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "ppppppcVar5[5] = pppppcVar25;" (assignment_expression "ppppppcVar5[5] = pppppcVar25" (subscript_expression "ppppppcVar5[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);" (assignment_expression "pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1)" identifier = (cast_expression "(code *****)((int)pppppcVar25 + iVar6 + 1)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppcVar25 + iVar6 + 1)" ( (binary_expression "(int)pppppcVar25 + iVar6 + 1" (binary_expression "(int)pppppcVar25 + iVar6" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "iVar6 = (int)pppppcVar37 + iVar4;" (assignment_expression "iVar6 = (int)pppppcVar37 + iVar4" identifier = (binary_expression "(int)pppppcVar37 + iVar4" (cast_expression "(int)pppppcVar37" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "(*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));" (call_expression "(*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8))" (parenthesized_expression "(*pcVar43)" ( (pointer_expression "*pcVar43" * identifier) )) (argument_list "(pppppcVar25,*(int *)(pcVar40 + 8))" ( identifier , (pointer_expression "*(int *)(pcVar40 + 8)" * (cast_expression "(int *)(pcVar40 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 8)" ( (binary_expression "pcVar40 + 8" identifier + number_literal) )))) ))) ;) (expression_statement "ppppppcVar5[4] = pppppcVar37;" (assignment_expression "ppppppcVar5[4] = pppppcVar37" (subscript_expression "ppppppcVar5[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);" (call_expression "(**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d84))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d84)" * (pointer_expression "*(code **)(pcVar42 + 0x53d84)" * (cast_expression "(code **)(pcVar42 + 0x53d84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d84)" ( (binary_expression "pcVar42 + 0x53d84" identifier + number_literal) ))))) )) (argument_list "(pppppcVar37,*(int *)(pcVar40 + 4),iVar4)" ( identifier , (pointer_expression "*(int *)(pcVar40 + 4)" * (cast_expression "(int *)(pcVar40 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar40 + 4)" ( (binary_expression "pcVar40 + 4" identifier + number_literal) )))) , identifier ))) ;) (if_statement "if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }" if (parenthesized_expression "(0 < (int)pppppcVar29)" ( (binary_expression "0 < (int)pppppcVar29" number_literal < (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }" { (expression_statement "iVar7 = *(int *)(pcVar42 + 0x539b0);" (assignment_expression "iVar7 = *(int *)(pcVar42 + 0x539b0)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x539b0)" * (cast_expression "(int *)(pcVar42 + 0x539b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x539b0)" ( (binary_expression "pcVar42 + 0x539b0" identifier + number_literal) ))))) ;) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" identifier = number_literal) ;) (expression_statement "iVar4 = *(int *)(pcVar42 + 0x539b0);" (assignment_expression "iVar4 = *(int *)(pcVar42 + 0x539b0)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x539b0)" * (cast_expression "(int *)(pcVar42 + 0x539b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x539b0)" ( (binary_expression "pcVar42 + 0x539b0" identifier + number_literal) ))))) ;) (do_statement "do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);" do (compound_statement "{\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        }" { (expression_statement "pppppcStack_210 = (code *****)0x0;" (assignment_expression "pppppcStack_210 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);" (assignment_expression "uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210)" identifier = (call_expression "(*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210)" (parenthesized_expression "(*(code *)(iVar4 + 0x273c))" ( (pointer_expression "*(code *)(iVar4 + 0x273c)" * (cast_expression "(code *)(iVar4 + 0x273c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x273c)" ( (binary_expression "iVar4 + 0x273c" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210)" ( (pointer_expression "*(undefined4 *)((int)piVar27 + iVar36)" * (cast_expression "(undefined4 *)((int)piVar27 + iVar36)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar27 + iVar36)" ( (binary_expression "(int)piVar27 + iVar36" (cast_expression "(int)piVar27" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) , (pointer_expression "&pppppcStack_210" & identifier) )))) ;) (if_statement "if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }" if (parenthesized_expression "(0 < (int)pppppcStack_210)" ( (binary_expression "0 < (int)pppppcStack_210" number_literal < (cast_expression "(int)pppppcStack_210" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }" { (expression_statement "(**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);" (call_expression "(**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d84))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d84)" * (pointer_expression "*(code **)(pcVar42 + 0x53d84)" * (cast_expression "(code **)(pcVar42 + 0x53d84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d84)" ( (binary_expression "pcVar42 + 0x53d84" identifier + number_literal) ))))) )) (argument_list "(iVar6,uVar15)" ( identifier , identifier ))) ;) })) (expression_statement "*(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0" (pointer_expression "*(undefined1 *)(iVar6 + (int)pppppcStack_210)" * (cast_expression "(undefined1 *)(iVar6 + (int)pppppcStack_210)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + (int)pppppcStack_210)" ( (binary_expression "iVar6 + (int)pppppcStack_210" identifier + (cast_expression "(int)pppppcStack_210" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = number_literal) ;) (expression_statement "(*(code *)(iVar7 + 0x1120))(iVar6);" (call_expression "(*(code *)(iVar7 + 0x1120))(iVar6)" (parenthesized_expression "(*(code *)(iVar7 + 0x1120))" ( (pointer_expression "*(code *)(iVar7 + 0x1120)" * (cast_expression "(code *)(iVar7 + 0x1120)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1120)" ( (binary_expression "iVar7 + 0x1120" identifier + number_literal) )))) )) (argument_list "(iVar6)" ( identifier ))) ;) (expression_statement "piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);" (assignment_expression "piVar16 = (int *)((int)ppppppcVar5[7] + iVar36)" identifier = (cast_expression "(int *)((int)ppppppcVar5[7] + iVar36)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5[7] + iVar36)" ( (binary_expression "(int)ppppppcVar5[7] + iVar36" (cast_expression "(int)ppppppcVar5[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[7]" identifier [ number_literal ])) + identifier) )))) ;) (expression_statement "iVar36 = iVar36 + 4;" (assignment_expression "iVar36 = iVar36 + 4" identifier = (binary_expression "iVar36 + 4" identifier + number_literal)) ;) (expression_statement "*piVar16 = iVar6;" (assignment_expression "*piVar16 = iVar6" (pointer_expression "*piVar16" * identifier) = identifier) ;) (expression_statement "iVar6 = (int)pppppcStack_210 + iVar6 + 1;" (assignment_expression "iVar6 = (int)pppppcStack_210 + iVar6 + 1" identifier = (binary_expression "(int)pppppcStack_210 + iVar6 + 1" (binary_expression "(int)pppppcStack_210 + iVar6" (cast_expression "(int)pppppcStack_210" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal)) ;) }) while (parenthesized_expression "((int)pppppcVar29 * 4 != iVar36)" ( (binary_expression "(int)pppppcVar29 * 4 != iVar36" (binary_expression "(int)pppppcVar29 * 4" (cast_expression "(int)pppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) != identifier) )) ;) (expression_statement "pppppcVar25 = (code *****)0x0;" (assignment_expression "pppppcVar25 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (do_statement "do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);" do (compound_statement "{\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        }" { (expression_statement "(**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);" (call_expression "(**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25])" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d18))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d18)" * (pointer_expression "*(code **)(pcVar42 + 0x53d18)" * (cast_expression "(code **)(pcVar42 + 0x53d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d18)" ( (binary_expression "pcVar42 + 0x53d18" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5[7][(int)pppppcVar25])" ( (subscript_expression "ppppppcVar5[7][(int)pppppcVar25]" (subscript_expression "ppppppcVar5[7]" identifier [ number_literal ]) [ (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) ]) ))) ;) (expression_statement "pppppcVar25 = (code *****)((int)pppppcVar25 + 1);" (assignment_expression "pppppcVar25 = (code *****)((int)pppppcVar25 + 1)" identifier = (cast_expression "(code *****)((int)pppppcVar25 + 1)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppcVar25 + 1)" ( (binary_expression "(int)pppppcVar25 + 1" (cast_expression "(int)pppppcVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(pppppcVar25 != pppppcVar29)" ( (binary_expression "pppppcVar25 != pppppcVar29" identifier != identifier) )) ;) })) (expression_statement "ppppppcVar31 = &pppppcStack_210;" (assignment_expression "ppppppcVar31 = &pppppcStack_210" identifier = (pointer_expression "&pppppcStack_210" & identifier)) ;) (expression_statement "pppppcStack_210 = (code *****)0x0;" (assignment_expression "pppppcStack_210 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }" if (parenthesized_expression "(ppppppcVar5[10] == (code *****)0x0)" ( (binary_expression "ppppppcVar5[10] == (code *****)0x0" (subscript_expression "ppppppcVar5[10]" identifier [ number_literal ]) == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }" { (expression_statement "iVar4 = *(int *)(pcVar42 + 0x5393c);" (assignment_expression "iVar4 = *(int *)(pcVar42 + 0x5393c)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x5393c)" * (cast_expression "(int *)(pcVar42 + 0x5393c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x5393c)" ( (binary_expression "pcVar42 + 0x5393c" identifier + number_literal) ))))) ;) (expression_statement "pppppcStack_210 = (code *****)0x0;" (assignment_expression "pppppcStack_210 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);" (assignment_expression "pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" identifier = (cast_expression "(code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" ( (binary_expression "*(int *)(pcVar42 + 0x53a58) + -0x70d4" (pointer_expression "*(int *)(pcVar42 + 0x53a58)" * (cast_expression "(int *)(pcVar42 + 0x53a58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53a58)" ( (binary_expression "pcVar42 + 0x53a58" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3610" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }" if (parenthesized_expression "(0 < (int)ppppppcVar5[6])" ( (binary_expression "0 < (int)ppppppcVar5[6]" number_literal < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) (compound_statement "{\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }" { (expression_statement "iVar7 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar7 = *(int *)(pcVar42 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);" do (compound_statement "{\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          }" { (expression_statement "iVar36 = iVar6 + 1;" (assignment_expression "iVar36 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6])" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6])" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "iVar7 + -0x3608" identifier + number_literal) , (binary_expression "iVar4 + 0x53f4" identifier + number_literal) , identifier , (subscript_expression "ppppppcVar5[7][iVar6]" (subscript_expression "ppppppcVar5[7]" identifier [ number_literal ]) [ identifier ]) ))) ;) (expression_statement "iVar6 = iVar36;" (assignment_expression "iVar6 = iVar36" identifier = identifier) ;) }) while (parenthesized_expression "(iVar36 < (int)ppppppcVar5[6])" ( (binary_expression "iVar36 < (int)ppppppcVar5[6]" identifier < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) ;) })) (if_statement "if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }" if (parenthesized_expression "(ppppppcVar5[0xb] != (code *****)0x0)" ( (binary_expression "ppppppcVar5[0xb] != (code *****)0x0" (subscript_expression "ppppppcVar5[0xb]" identifier [ number_literal ]) != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }" { (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x35f8" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3594" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) }) (else_clause "else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }" else (compound_statement "{\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }" { (expression_statement "pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);" (assignment_expression "pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" identifier = (cast_expression "(code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" ( (binary_expression "*(int *)(pcVar42 + 0x53a58) + -0x70d4" (pointer_expression "*(int *)(pcVar42 + 0x53a58)" * (cast_expression "(int *)(pcVar42 + 0x53a58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53a58)" ( (binary_expression "pcVar42 + 0x53a58" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x7714" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }" if (parenthesized_expression "(0 < (int)ppppppcVar5[6])" ( (binary_expression "0 < (int)ppppppcVar5[6]" number_literal < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) (compound_statement "{\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }" { (expression_statement "iVar4 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar4 = *(int *)(pcVar42 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);" do (compound_statement "{\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          }" { (expression_statement "pppppcVar25 = ppppppcVar5[7] + iVar6;" (assignment_expression "pppppcVar25 = ppppppcVar5[7] + iVar6" identifier = (binary_expression "ppppppcVar5[7] + iVar6" (subscript_expression "ppppppcVar5[7]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "iVar4 + -0x35f0" identifier + number_literal) , (pointer_expression "*pppppcVar25" * identifier) ))) ;) }) while (parenthesized_expression "(iVar6 < (int)ppppppcVar5[6])" ( (binary_expression "iVar6 < (int)ppppppcVar5[6]" identifier < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) ;) })) (if_statement "if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }" if (parenthesized_expression "(ppppppcVar5[0xb] != (code *****)0x0)" ( (binary_expression "ppppppcVar5[0xb] != (code *****)0x0" (subscript_expression "ppppppcVar5[0xb]" identifier [ number_literal ]) != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }" { (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x35f8" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) ))) ;) })) }))) (expression_statement "in_stack_fffffd68 = ppppppcVar5[10];" (assignment_expression "in_stack_fffffd68 = ppppppcVar5[10]" identifier = (subscript_expression "ppppppcVar5[10]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar35 = (code ******)ppppppcVar5[4];" (assignment_expression "ppppppcVar35 = (code ******)ppppppcVar5[4]" identifier = (cast_expression "(code ******)ppppppcVar5[4]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[4]" identifier [ number_literal ]))) ;) (if_statement "if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }" if (parenthesized_expression "(in_stack_fffffd68 == (code *****)0x0)" ( (binary_expression "in_stack_fffffd68 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }" { (expression_statement "in_stack_fffffd68 = ppppppcVar5[5];" (assignment_expression "in_stack_fffffd68 = ppppppcVar5[5]" identifier = (subscript_expression "ppppppcVar5[5]" identifier [ number_literal ])) ;) (expression_statement "in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;" (assignment_expression "in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000" identifier = (binary_expression "*(int *)(pcVar42 + 0x53950) + -14000" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }" else (compound_statement "{\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }" { (expression_statement "in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;" (assignment_expression "in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4" identifier = (binary_expression "*(int *)(pcVar42 + 0x5393c) + 0x53f4" (pointer_expression "*(int *)(pcVar42 + 0x5393c)" * (cast_expression "(int *)(pcVar42 + 0x5393c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x5393c)" ( (binary_expression "pcVar42 + 0x5393c" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x35e4" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , identifier , identifier , identifier ))) ;) (expression_statement "ppppppcVar5[0x37] = pppppcStack_210;" (assignment_expression "ppppppcVar5[0x37] = pppppcStack_210" (subscript_expression "ppppppcVar5[0x37]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar4 = *(int *)(pcVar42 + 0x5393c);" (assignment_expression "iVar4 = *(int *)(pcVar42 + 0x5393c)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x5393c)" * (cast_expression "(int *)(pcVar42 + 0x5393c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x5393c)" ( (binary_expression "pcVar42 + 0x5393c" identifier + number_literal) ))))) ;) (expression_statement "pppppcStack_210 = (code *****)0x0;" (assignment_expression "pppppcStack_210 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" identifier = identifier) ;) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x4774" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }" if (parenthesized_expression "(0 < (int)ppppppcVar5[6])" ( (binary_expression "0 < (int)ppppppcVar5[6]" number_literal < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) (compound_statement "{\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }" { (expression_statement "iVar7 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar7 = *(int *)(pcVar42 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);" do (compound_statement "{\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        }" { (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" identifier = identifier) ;) (expression_statement "ppppppcVar35 = (code ******)(iVar4 + 0x53f4);" (assignment_expression "ppppppcVar35 = (code ******)(iVar4 + 0x53f4)" identifier = (cast_expression "(code ******)(iVar4 + 0x53f4)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar4 + 0x53f4)" ( (binary_expression "iVar4 + 0x53f4" identifier + number_literal) )))) ;) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , (binary_expression "iVar7 + -0x35cc" identifier + number_literal) ))) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < (int)ppppppcVar5[6])" ( (binary_expression "iVar6 < (int)ppppppcVar5[6]" identifier < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);" (assignment_expression "ppppppcVar28 = *(code *******)(pcVar42 + 0x53950)" identifier = (pointer_expression "*(code *******)(pcVar42 + 0x53950)" * (cast_expression "(code *******)(pcVar42 + 0x53950)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) ))))) ;) (if_statement "if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }" if (parenthesized_expression "(ppppppcVar5[0xb] != (code *****)0x0)" ( (binary_expression "ppppppcVar5[0xb] != (code *****)0x0" (subscript_expression "ppppppcVar5[0xb]" identifier [ number_literal ]) != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }" { (expression_statement "ppppppcVar28 = ppppppcVar28 + -0xd71;" (assignment_expression "ppppppcVar28 = ppppppcVar28 + -0xd71" identifier = (binary_expression "ppppppcVar28 + -0xd71" identifier + number_literal)) ;) (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" identifier = identifier) ;) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(&pppppcStack_218,ppppppcVar31,ppppppcVar28)" ( (pointer_expression "&pppppcStack_218" & identifier) , identifier , identifier ))) ;) })) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "ppppppcVar5[0x38] = pppppcStack_210;" (assignment_expression "ppppppcVar5[0x38] = pppppcStack_210" (subscript_expression "ppppppcVar5[0x38]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;" if (parenthesized_expression "((code ******)pppppcStack_218 != (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_218 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_218" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;)) (if_statement "if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }" if (parenthesized_expression "((code ******)pppppcStack_1a0 == (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_1a0 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_1a0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }" { (if_statement "if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }" if (parenthesized_expression "(cVar1 != '4')" ( (binary_expression "cVar1 != '4'" identifier != (char_literal "'4'" ' character ')) )) (compound_statement "{\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }" { (expression_statement "*(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;" (assignment_expression "*(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2" (pointer_expression "*(code *)((int)ppppppcVar5 + 0xe9)" * (cast_expression "(code *)((int)ppppppcVar5 + 0xe9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 0xe9)" ( (binary_expression "(int)ppppppcVar5 + 0xe9" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(code)0x2" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) })) }) (else_clause "else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }" else (compound_statement "{\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }" { (expression_statement "pppppcStack_210 = (code *****)0x0;" (assignment_expression "pppppcStack_210 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar17 = (code ******)ppppppcVar5[3];" (assignment_expression "ppppppcVar17 = (code ******)ppppppcVar5[3]" identifier = (cast_expression "(code ******)ppppppcVar5[3]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]))) ;) (if_statement "if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }" if (parenthesized_expression "(ppppppcVar5[10] == (code *****)0x0)" ( (binary_expression "ppppppcVar5[10] == (code *****)0x0" (subscript_expression "ppppppcVar5[10]" identifier [ number_literal ]) == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }" { (expression_statement "pppppcVar25 = ppppppcVar5[0xb];" (assignment_expression "pppppcVar25 = ppppppcVar5[0xb]" identifier = (subscript_expression "ppppppcVar5[0xb]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);" (assignment_expression "iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0)" identifier = (call_expression "(**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x35c0)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x35c0" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }" { (labeled_statement "LAB_00109454:\n            iVar4 = 0;" statement_identifier : (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;)) (expression_statement "pppppcStack_210 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_210 = (code *****)&DAT_00000007" identifier = (cast_expression "(code *****)&DAT_00000007" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }) (else_clause "else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }" else (compound_statement "{\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }" { (expression_statement "iVar6 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar6 = *(int *)(pcVar42 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) ))))) ;) (if_statement "if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }" if (parenthesized_expression "(0 < (int)ppppppcVar5[6])" ( (binary_expression "0 < (int)ppppppcVar5[6]" number_literal < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) (compound_statement "{\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);" do (compound_statement "{\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              }" { (expression_statement "iVar36 = iVar7 + 1;" (assignment_expression "iVar36 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);" (assignment_expression "iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7])" identifier = (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7])" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7])" ( (binary_expression "iVar6 + -0x35a4" identifier + number_literal) , identifier , identifier , (subscript_expression "ppppppcVar5[7][iVar7]" (subscript_expression "ppppppcVar5[7]" identifier [ number_literal ]) [ identifier ]) )))) ;) (if_statement "if (iVar4 == 0) goto LAB_00109454;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00109454;" goto statement_identifier ;)) (expression_statement "iVar7 = iVar36;" (assignment_expression "iVar7 = iVar36" identifier = identifier) ;) }) while (parenthesized_expression "(iVar36 < (int)ppppppcVar5[6])" ( (binary_expression "iVar36 < (int)ppppppcVar5[6]" identifier < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) ;) })) (if_statement "if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;" if (parenthesized_expression "((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0))" ( (binary_expression "(pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)" (parenthesized_expression "(pppppcVar25 != (code *****)0x0)" ( (binary_expression "pppppcVar25 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) && (parenthesized_expression "(iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25)" identifier = (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3598" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00109454;" goto statement_identifier ;)) }))) (expression_statement "in_stack_fffffd6c = iVar4;" (assignment_expression "in_stack_fffffd6c = iVar4" identifier = identifier) ;) (expression_statement "FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);" (call_expression "FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4)" identifier (argument_list "(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4)" ( identifier , identifier , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x358c" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , (subscript_expression "ppppppcVar5[4]" identifier [ number_literal ]) , (subscript_expression "ppppppcVar5[5]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "(**(code **)(pcVar42 + 0x53974))(iVar4);" (call_expression "(**(code **)(pcVar42 + 0x53974))(iVar4)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) })) (expression_statement "FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);" (call_expression "FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5])" identifier (argument_list "(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5])" ( identifier , identifier , (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3568" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , (subscript_expression "ppppppcVar5[4]" identifier [ number_literal ]) , (subscript_expression "ppppppcVar5[5]" identifier [ number_literal ]) ))) ;) (expression_statement "in_stack_fffffd68 = ppppppcVar5[5];" (assignment_expression "in_stack_fffffd68 = ppppppcVar5[5]" identifier = (subscript_expression "ppppppcVar5[5]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar35 = (code ******)ppppppcVar5[4];" (assignment_expression "ppppppcVar35 = (code ******)ppppppcVar5[4]" identifier = (cast_expression "(code ******)ppppppcVar5[4]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[4]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);" (assignment_expression "ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520)" identifier = (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x3520)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3520" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppppcVar21 = ppppppcVar17;" (assignment_expression "ppppppcVar21 = ppppppcVar17" identifier = identifier) ;) (expression_statement "FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);" (call_expression "FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68)" identifier (argument_list "(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }" if (parenthesized_expression "(*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0)" ( (binary_expression "*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0" (pointer_expression "*(code *)((int)ppppppcVar5 + 0xea)" * (cast_expression "(code *)((int)ppppppcVar5 + 0xea)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 0xea)" ( (binary_expression "(int)ppppppcVar5 + 0xea" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }" { (expression_statement "in_stack_fffffd68 = ppppppcVar5[5];" (assignment_expression "in_stack_fffffd68 = ppppppcVar5[5]" identifier = (subscript_expression "ppppppcVar5[5]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar35 = (code ******)ppppppcVar5[4];" (assignment_expression "ppppppcVar35 = (code ******)ppppppcVar5[4]" identifier = (cast_expression "(code ******)ppppppcVar5[4]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[4]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);" (assignment_expression "ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484)" identifier = (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x3484)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3484" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);" (call_expression "FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68)" identifier (argument_list "(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "ppppppcVar21 = ppppppcVar17;" (assignment_expression "ppppppcVar21 = ppppppcVar17" identifier = identifier) ;) })) (if_statement "if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }" if (parenthesized_expression "(*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0)" ( (binary_expression "*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0" (pointer_expression "*(code *)((int)ppppppcVar5 + 0xe9)" * (cast_expression "(code *)((int)ppppppcVar5 + 0xe9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar5 + 0xe9)" ( (binary_expression "(int)ppppppcVar5 + 0xe9" (cast_expression "(int)ppppppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }" { (expression_statement "ppppppcVar21 = ppppppcVar5;" (assignment_expression "ppppppcVar21 = ppppppcVar5" identifier = identifier) ;) (expression_statement "FUN_00100a58(ppppppcVar31,ppppppcVar5);" (call_expression "FUN_00100a58(ppppppcVar31,ppppppcVar5)" identifier (argument_list "(ppppppcVar31,ppppppcVar5)" ( identifier , identifier ))) ;) })) (expression_statement "pppppcStack_218 = pppppcStack_210;" (assignment_expression "pppppcStack_218 = pppppcStack_210" identifier = identifier) ;) (if_statement "if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }" if (parenthesized_expression "((code ******)pppppcStack_210 != (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_210 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_210" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }" { (expression_statement "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);" (assignment_expression "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23)" (subscript_expression "ppppppcVar5[0x39]" identifier [ number_literal ]) = (cast_expression "(code *****)((int)ppppppcVar5[0x3c] - 0x23)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppcVar5[0x3c] - 0x23)" ( (binary_expression "(int)ppppppcVar5[0x3c] - 0x23" (cast_expression "(int)ppppppcVar5[0x3c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[0x3c]" identifier [ number_literal ])) - number_literal) )))) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) }))) (expression_statement "ppppppcVar21 = (code ******)ppppppcVar5[4];" (assignment_expression "ppppppcVar21 = (code ******)ppppppcVar5[4]" identifier = (cast_expression "(code ******)ppppppcVar5[4]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[4]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);" (assignment_expression "ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21)" identifier = (cast_expression "(code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x33d4" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , identifier ))))) ;) (if_statement "if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }" if (parenthesized_expression "(ppppppcVar17 == (code ******)0x0)" ( (binary_expression "ppppppcVar17 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }" { (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "pppppcStack_218 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_218 = (code *****)&DAT_00000007" identifier = (cast_expression "(code *****)&DAT_00000007" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);" (assignment_expression "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23)" (subscript_expression "ppppppcVar5[0x39]" identifier [ number_literal ]) = (cast_expression "(code *****)((int)ppppppcVar5[0x3c] - 0x23)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppcVar5[0x3c] - 0x23)" ( (binary_expression "(int)ppppppcVar5[0x3c] - 0x23" (cast_expression "(int)ppppppcVar5[0x3c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[0x3c]" identifier [ number_literal ])) - number_literal) )))) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) (expression_statement "ppppppcVar28 = (code ******)0xffffffff;" (assignment_expression "ppppppcVar28 = (code ******)0xffffffff" identifier = (cast_expression "(code ******)0xffffffff" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "in_stack_fffffd68 = (code *****)0x0;" (assignment_expression "in_stack_fffffd68 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar21 = ppppppcVar17;" (assignment_expression "ppppppcVar21 = ppppppcVar17" identifier = identifier) ;) (expression_statement "ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);" (assignment_expression "ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0)" identifier = (cast_expression "(code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0)" identifier (argument_list "(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0)" ( (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]) , identifier , number_literal , identifier , number_literal ))))) ;) (if_statement "if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }" if (parenthesized_expression "(ppppppcVar38 == (code ******)0x0)" ( (binary_expression "ppppppcVar38 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }" { (expression_statement "(**(code **)(pcVar42 + 0x53984))(pppppcStack_210);" (call_expression "(**(code **)(pcVar42 + 0x53984))(pppppcStack_210)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53984))" ( (pointer_expression "**(code **)(pcVar42 + 0x53984)" * (pointer_expression "*(code **)(pcVar42 + 0x53984)" * (cast_expression "(code **)(pcVar42 + 0x53984)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53984)" ( (binary_expression "pcVar42 + 0x53984" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_210)" ( identifier ))) ;) (expression_statement "ppppppcVar21 = (code ******)0x0;" (assignment_expression "ppppppcVar21 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);" (assignment_expression "pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0)" identifier = (cast_expression "(code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53998))" ( (pointer_expression "**(code **)(pcVar42 + 0x53998)" * (pointer_expression "*(code **)(pcVar42 + 0x53998)" * (cast_expression "(code **)(pcVar42 + 0x53998)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53998)" ( (binary_expression "pcVar42 + 0x53998" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_210,0)" ( identifier , number_literal ))))) ;) (expression_statement "ppppppcVar5[0x3c] = pppppcVar25;" (assignment_expression "ppppppcVar5[0x3c] = pppppcVar25" (subscript_expression "ppppppcVar5[0x3c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);" (assignment_expression "ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210)" identifier = (cast_expression "(code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar42 + 0x53990))(pppppcStack_210)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53990))" ( (pointer_expression "**(code **)(pcVar42 + 0x53990)" * (pointer_expression "*(code **)(pcVar42 + 0x53990)" * (cast_expression "(code **)(pcVar42 + 0x53990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53990)" ( (binary_expression "pcVar42 + 0x53990" identifier + number_literal) ))))) )) (argument_list "(pppppcStack_210)" ( identifier ))))) ;) (expression_statement "ppppppcVar35 = ppppppcVar31;" (assignment_expression "ppppppcVar35 = ppppppcVar31" identifier = identifier) ;) (labeled_statement "LAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);" statement_identifier : (expression_statement "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17);" (call_expression "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar17)" ( identifier ))) ;)) (expression_statement "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);" (assignment_expression "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23)" (subscript_expression "ppppppcVar5[0x39]" identifier [ number_literal ]) = (cast_expression "(code *****)((int)ppppppcVar5[0x3c] - 0x23)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppcVar5[0x3c] - 0x23)" ( (binary_expression "(int)ppppppcVar5[0x3c] - 0x23" (cast_expression "(int)ppppppcVar5[0x3c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[0x3c]" identifier [ number_literal ])) - number_literal) )))) ;) (expression_statement "pppppcStack_218 = (code *****)ppppppcVar38;" (assignment_expression "pppppcStack_218 = (code *****)ppppppcVar38" identifier = (cast_expression "(code *****)ppppppcVar38" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;" if (parenthesized_expression "(ppppppcVar38 != (code ******)0x0)" ( (binary_expression "ppppppcVar38 != (code ******)0x0" identifier != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;)) }) (else_clause "else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }" else (compound_statement "{\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }" { (expression_statement "pcVar40 = *(code **)(pcVar42 + 0x53974);" (assignment_expression "pcVar40 = *(code **)(pcVar42 + 0x53974)" identifier = (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) ;) (expression_statement "ppppppcVar35 = ppppppcVar31;" (assignment_expression "ppppppcVar35 = ppppppcVar31" identifier = identifier) ;) (if_statement "if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;" if (parenthesized_expression "(ppppppcVar38 != (code ******)&DAT_00000017)" ( (binary_expression "ppppppcVar38 != (code ******)&DAT_00000017" identifier != (cast_expression "(code ******)&DAT_00000017" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000017" & identifier))) )) (goto_statement "goto LAB_001089a8;" goto statement_identifier ;)) (expression_statement "ppppppcVar5[0x3c] = (code *****)0x400;" (assignment_expression "ppppppcVar5[0x3c] = (code *****)0x400" (subscript_expression "ppppppcVar5[0x3c]" identifier [ number_literal ]) = (cast_expression "(code *****)0x400" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "(*pcVar40)(ppppppcVar17);" (call_expression "(*pcVar40)(ppppppcVar17)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(ppppppcVar17)" ( identifier ))) ;) (expression_statement "pppppcStack_218 = (code *****)0x0;" (assignment_expression "pppppcStack_218 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);" (assignment_expression "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23)" (subscript_expression "ppppppcVar5[0x39]" identifier [ number_literal ]) = (cast_expression "(code *****)((int)ppppppcVar5[0x3c] - 0x23)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppcVar5[0x3c] - 0x23)" ( (binary_expression "(int)ppppppcVar5[0x3c] - 0x23" (cast_expression "(int)ppppppcVar5[0x3c]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[0x3c]" identifier [ number_literal ])) - number_literal) )))) ;) }))) (expression_statement "ppppppcVar35 = (code ******)ppppppcVar5[0xb];" (assignment_expression "ppppppcVar35 = (code ******)ppppppcVar5[0xb]" identifier = (cast_expression "(code ******)ppppppcVar5[0xb]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[0xb]" identifier [ number_literal ]))) ;) (if_statement "if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }" if (parenthesized_expression "(ppppppcVar35 == (code ******)0x0)" ( (binary_expression "ppppppcVar35 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }" { (expression_statement "ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);" (assignment_expression "ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4)" identifier = (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x36a4)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x36a4" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "(**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);" (call_expression "(**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53c10))" ( (pointer_expression "**(code **)(pcVar42 + 0x53c10)" * (pointer_expression "*(code **)(pcVar42 + 0x53c10)" * (cast_expression "(code **)(pcVar42 + 0x53c10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53c10)" ( (binary_expression "pcVar42 + 0x53c10" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar5[3],1,1)" ( (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]) , number_literal , number_literal ))) ;) (expression_statement "ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);" (assignment_expression "ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7])" identifier = (cast_expression "(code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7])" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7])" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7])" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3440" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , (pointer_expression "*ppppppcVar5[7]" * (subscript_expression "ppppppcVar5[7]" identifier [ number_literal ])) ))))) ;) (if_statement "if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }" if (parenthesized_expression "(ppppppcVar31 == (code ******)0x0)" ( (binary_expression "ppppppcVar31 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }" { (labeled_statement "LAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;" statement_identifier : (expression_statement "ppppppcVar21 = (code ******)0x0;" (assignment_expression "ppppppcVar21 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (expression_statement "ppppppcVar28 = (code ******)ppppppcVar5[5];" (assignment_expression "ppppppcVar28 = (code ******)ppppppcVar5[5]" identifier = (cast_expression "(code ******)ppppppcVar5[5]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[5]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar38 = (code ******)&DAT_00000007;" (assignment_expression "ppppppcVar38 = (code ******)&DAT_00000007" identifier = (cast_expression "(code ******)&DAT_00000007" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);" (assignment_expression "ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28)" identifier = (cast_expression "(code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3430" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))))) ;) }) (else_clause "else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }" else (compound_statement "{\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }" { (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (if_statement "if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }" if (parenthesized_expression "(1 < (int)ppppppcVar5[6])" ( (binary_expression "1 < (int)ppppppcVar5[6]" number_literal < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) (compound_statement "{\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }" { (expression_statement "iVar6 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar6 = *(int *)(pcVar42 + 0x53950)" identifier = (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) ))))) ;) (do_statement "do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);" do (compound_statement "{\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          }" { (expression_statement "pppppcVar25 = ppppppcVar5[7] + iVar4;" (assignment_expression "pppppcVar25 = ppppppcVar5[7] + iVar4" identifier = (binary_expression "ppppppcVar5[7] + iVar4" (subscript_expression "ppppppcVar5[7]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);" (assignment_expression "ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25)" identifier = (cast_expression "(code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(iVar6 + -0x3438,ppppppcVar31,*pppppcVar25)" ( (binary_expression "iVar6 + -0x3438" identifier + number_literal) , identifier , (pointer_expression "*pppppcVar25" * identifier) ))))) ;) (if_statement "if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;" if (parenthesized_expression "(ppppppcVar31 == (code ******)0x0)" ( (binary_expression "ppppppcVar31 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_00108a70;" goto statement_identifier ;)) }) while (parenthesized_expression "(iVar4 < (int)ppppppcVar5[6])" ( (binary_expression "iVar4 < (int)ppppppcVar5[6]" identifier < (cast_expression "(int)ppppppcVar5[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar5[6]" identifier [ number_literal ]))) )) ;) })) (expression_statement "ppppppcVar28 = (code ******)ppppppcVar5[5];" (assignment_expression "ppppppcVar28 = (code ******)ppppppcVar5[5]" identifier = (cast_expression "(code ******)ppppppcVar5[5]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar5[5]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" identifier = identifier) ;) (expression_statement "ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);" (assignment_expression "ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28)" identifier = (cast_expression "(code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" ( (pointer_expression "**(code **)(pcVar42 + 0x5397c)" * (pointer_expression "*(code **)(pcVar42 + 0x5397c)" * (cast_expression "(code **)(pcVar42 + 0x5397c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x5397c)" ( (binary_expression "pcVar42 + 0x5397c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28)" ( (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3430" (pointer_expression "*(int *)(pcVar42 + 0x53950)" * (cast_expression "(int *)(pcVar42 + 0x53950)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53950)" ( (binary_expression "pcVar42 + 0x53950" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (if_statement "if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }" if (parenthesized_expression "(ppppppcVar17 == (code ******)0x0)" ( (binary_expression "ppppppcVar17 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }" { (expression_statement "ppppppcVar38 = (code ******)&DAT_00000007;" (assignment_expression "ppppppcVar38 = (code ******)&DAT_00000007" identifier = (cast_expression "(code ******)&DAT_00000007" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) }) (else_clause "else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }" else (compound_statement "{\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }" { (expression_statement "ppppppcVar21 = ppppppcVar17;" (assignment_expression "ppppppcVar21 = ppppppcVar17" identifier = identifier) ;) (expression_statement "ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);" (assignment_expression "ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17)" identifier = (cast_expression "(code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17)" identifier (argument_list "(ppppppcVar5[3],ppppppcVar17)" ( (subscript_expression "ppppppcVar5[3]" identifier [ number_literal ]) , identifier ))))) ;) }))) }))) (expression_statement "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17);" (call_expression "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar17)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar42 + 0x53974))(ppppppcVar31);" (call_expression "(**(code **)(pcVar42 + 0x53974))(ppppppcVar31)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar31)" ( identifier ))) ;) (expression_statement "pppppcStack_218 = (code *****)ppppppcVar38;" (assignment_expression "pppppcStack_218 = (code *****)ppppppcVar38" identifier = (cast_expression "(code *****)ppppppcVar38" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (goto_statement "goto LAB_00107f4c;" goto statement_identifier ;) })) })) (expression_statement "ppppppcVar28 = ppppppcVar26;" (assignment_expression "ppppppcVar28 = ppppppcVar26" identifier = identifier) ;) (expression_statement "iStack_284 = 0;" (assignment_expression "iStack_284 = 0" identifier = number_literal) ;) (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" identifier = number_literal) ;) (expression_statement "ppppppcVar5 = (code ******)0x0;" (assignment_expression "ppppppcVar5 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppcStack_218 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_218 = (code *****)&DAT_00000007" identifier = (cast_expression "(code *****)&DAT_00000007" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (labeled_statement "LAB_00107f4c:\n  (**(code **)(pcVar42 + 0x53974))(0);" statement_identifier : (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;)) (expression_statement "(**(code **)(pcVar42 + 0x53974))(iStack_278);" (call_expression "(**(code **)(pcVar42 + 0x53974))(iStack_278)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(iStack_278)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "(**(code **)(pcVar42 + 0x53974))(piVar27);" (call_expression "(**(code **)(pcVar42 + 0x53974))(piVar27)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(piVar27)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar42 + 0x53974))(iStack_284);" (call_expression "(**(code **)(pcVar42 + 0x53974))(iStack_284)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" ( (pointer_expression "**(code **)(pcVar42 + 0x53974)" * (pointer_expression "*(code **)(pcVar42 + 0x53974)" * (cast_expression "(code **)(pcVar42 + 0x53974)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53974)" ( (binary_expression "pcVar42 + 0x53974" identifier + number_literal) ))))) )) (argument_list "(iStack_284)" ( identifier ))) ;) (if_statement "if ((code ******)pppppcStack_218 == (code ******)0x0) {\n    *puStack_18c = ppppppcVar5;\n  }\n  else if (ppppppcVar5 == (code ******)0x0) {\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }" if (parenthesized_expression "((code ******)pppppcStack_218 == (code ******)0x0)" ( (binary_expression "(code ******)pppppcStack_218 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_218" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    *puStack_18c = ppppppcVar5;\n  }" { (expression_statement "*puStack_18c = ppppppcVar5;" (assignment_expression "*puStack_18c = ppppppcVar5" (pointer_expression "*puStack_18c" * identifier) = identifier) ;) }) (else_clause "else if (ppppppcVar5 == (code ******)0x0) {\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }" else (if_statement "if (ppppppcVar5 == (code ******)0x0) {\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }" if (parenthesized_expression "(ppppppcVar5 == (code ******)0x0)" ( (binary_expression "ppppppcVar5 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }" { (if_statement "if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }" if (parenthesized_expression "((code *****)ppppcStack_214 != (code *****)0x0)" ( (binary_expression "(code *****)ppppcStack_214 != (code *****)0x0" (cast_expression "(code *****)ppppcStack_214" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      (*(code *)(*ppppcStack_214)[2])();\n    }" { (expression_statement "(*(code *)(*ppppcStack_214)[2])();" (call_expression "(*(code *)(*ppppcStack_214)[2])()" (parenthesized_expression "(*(code *)(*ppppcStack_214)[2])" ( (pointer_expression "*(code *)(*ppppcStack_214)[2]" * (cast_expression "(code *)(*ppppcStack_214)[2]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(*ppppcStack_214)[2]" (parenthesized_expression "(*ppppcStack_214)" ( (pointer_expression "*ppppcStack_214" * identifier) )) [ number_literal ]))) )) (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }" else (compound_statement "{\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }" { (expression_statement "(*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);" (call_expression "(*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5)" (parenthesized_expression "(*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))" ( (pointer_expression "*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c)" * (cast_expression "(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x53a4c) + 0x585c)" ( (binary_expression "*(int *)(pcVar42 + 0x53a4c) + 0x585c" (pointer_expression "*(int *)(pcVar42 + 0x53a4c)" * (cast_expression "(int *)(pcVar42 + 0x53a4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x53a4c)" ( (binary_expression "pcVar42 + 0x53a4c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppppcVar5)" ( identifier ))) ;) }))))) (if_statement "if (iStack_1cc == *piVar18) {\n    return (code ******)pppppcStack_218;\n  }" if (parenthesized_expression "(iStack_1cc == *piVar18)" ( (binary_expression "iStack_1cc == *piVar18" identifier == (pointer_expression "*piVar18" * identifier)) )) (compound_statement "{\n    return (code ******)pppppcStack_218;\n  }" { (return_statement "return (code ******)pppppcStack_218;" return (cast_expression "(code ******)pppppcStack_218" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) ;) })) (expression_statement "iVar4 = iStack_1cc;" (assignment_expression "iVar4 = iStack_1cc" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar42 + 0x53d64))();" (call_expression "(**(code **)(pcVar42 + 0x53d64))()" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d64))" ( (pointer_expression "**(code **)(pcVar42 + 0x53d64)" * (pointer_expression "*(code **)(pcVar42 + 0x53d64)" * (cast_expression "(code **)(pcVar42 + 0x53d64)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x53d64)" ( (binary_expression "pcVar42 + 0x53d64" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "ppppppcVar21 = (code ******)\n                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c);" (assignment_expression "ppppppcVar21 = (code ******)\n                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c)" identifier = (cast_expression "(code ******)\n                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c)" identifier (argument_list "(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c)" ( number_literal , identifier , identifier , identifier , identifier , identifier , identifier ))))) ;) (return_statement "return ppppppcVar21;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ))))))))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (array_declarator IDENT [ LIT ]))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) == IDENT) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (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) )))) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (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) )))) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) }))) }))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) ]) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ (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 (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) }))) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) }))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ))) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ))) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )) << LIT)) ))) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT | LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }))) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ))) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )) << LIT)) )) - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) )))) )) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) < (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (unary_expression - IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + IDENT) )))) ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) ))) < (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) )) - (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT | LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) 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 IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }))) (goto_statement goto statement_identifier ;) })) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) }))) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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) )))) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (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) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (do_statement do (compound_statement { (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) )))) == (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (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) ) 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 (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) , (binary_expression IDENT != LIT)) ))) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) <= (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) <= (subscript_expression IDENT [ LIT ])) ))) )) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;)) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) 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) )))) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) 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 IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression LIT < IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) < LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT ))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression & IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * IDENT) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) + LIT) ))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) })))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression & IDENT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + IDENT) + IDENT) + LIT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression & IDENT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT ^ LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) 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 IDENT == (char_literal ' character '))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT == (char_literal ' character '))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) , IDENT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (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 IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression (subscript_expression IDENT [ LIT ]) [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , IDENT , (subscript_expression (subscript_expression IDENT [ LIT ]) [ IDENT ]) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT , (binary_expression IDENT + LIT) , (pointer_expression * IDENT) ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (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) )))) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression & IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression 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 = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , (subscript_expression (subscript_expression IDENT [ LIT ]) [ IDENT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (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) )))) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - LIT) )))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , LIT , IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (pointer_expression * (subscript_expression IDENT [ LIT ])) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression * IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))))) ;) }))) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression & IDENT))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]))) )) (argument_list ( ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT ))) ;) }))))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))))) ;) (return_statement return IDENT ;) })))
(function_definition "code ****** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  undefined *puVar3;\n  int iVar4;\n  code ******ppppppcVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  int iVar13;\n  uint *puVar14;\n  undefined4 uVar15;\n  int *piVar16;\n  code ******ppppppcVar17;\n  int *piVar18;\n  code *****pppppcVar19;\n  code cVar20;\n  code ******ppppppcVar21;\n  code *****pppppcVar22;\n  code ******ppppppcVar23;\n  undefined1 *puVar24;\n  code *****pppppcVar25;\n  code ******ppppppcVar26;\n  int *piVar27;\n  code ******ppppppcVar28;\n  code *****pppppcVar29;\n  uint *puVar30;\n  code ******ppppppcVar31;\n  code ******ppppppcVar32;\n  code ******ppppppcVar33;\n  code ****ppppcVar34;\n  code ******ppppppcVar35;\n  int iVar36;\n  code ******unaff_s3;\n  code *****pppppcVar37;\n  code ******unaff_s5;\n  code ******ppppppcVar38;\n  code ******unaff_s6;\n  code ******unaff_s7;\n  undefined *puVar39;\n  code *pcVar40;\n  code *pcVar41;\n  code ******unaff_s8;\n  code *pcVar42;\n  code *pcVar43;\n  undefined8 uVar44;\n  code *****in_stack_fffffd68;\n  int in_stack_fffffd6c;\n  int iStack_284;\n  int iStack_278;\n  code *****pppppcStack_218;\n  code ****ppppcStack_214;\n  code *****pppppcStack_210;\n  code ****appppcStack_20c [16];\n  int iStack_1cc;\n  code *****pppppcStack_1c8;\n  code *****pppppcStack_1c4;\n  uint *puStack_1c0;\n  code *****pppppcStack_1bc;\n  code *****pppppcStack_1b8;\n  code *****pppppcStack_1b4;\n  code *****pppppcStack_1b0;\n  code *****pppppcStack_1ac;\n  code *****pppppcStack_1a8;\n  code *pcStack_1a4;\n  code *****pppppcStack_1a0;\n  code *pcStack_190;\n  undefined4 *puStack_18c;\n  code *****pppppcStack_188;\n  code ****ppppcStack_184;\n  int *piStack_17c;\n  code *****pppppcStack_178;\n  code *****pppppcStack_174;\n  code *****pppppcStack_170;\n  code *****pppppcStack_16c;\n  code *****pppppcStack_168;\n  code *pcStack_164;\n  undefined4 uStack_150;\n  code *pcStack_148;\n  code *****pppppcStack_140;\n  code *pcStack_13c;\n  int iStack_138;\n  int iStack_134;\n  code ****ppppcStack_12c;\n  undefined1 auStack_128 [4];\n  code ****ppppcStack_124;\n  code *****pppppcStack_11c;\n  code *****pppppcStack_118;\n  code *****pppppcStack_114;\n  code *****pppppcStack_110;\n  code *****pppppcStack_10c;\n  code *****pppppcStack_108;\n  code *****pppppcStack_104;\n  int iStack_e0;\n  code *****pppppcStack_c8;\n  code *****pppppcStack_c4;\n  code ****ppppcStack_c0;\n  code *****pppppcStack_bc;\n  code *****pppppcStack_b8;\n  code *****pppppcStack_b4;\n  code *****pppppcStack_b0;\n  code *pcStack_ac;\n  code *pcStack_98;\n  code *****pppppcStack_90;\n  code *****pppppcStack_8c;\n  code *****pppppcStack_84;\n  uint *puStack_80;\n  code *****pppppcStack_7c;\n  code *****pppppcStack_78;\n  code *****pppppcStack_50;\n  code ****ppppcStack_4c;\n  undefined *puStack_44;\n  int *piStack_40;\n  code *****local_18;\n  code *****local_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  ppppppcVar21 = &local_18;\n  local_14 = *(code ******)PTR___stack_chk_guard_0015ba2c;\n  iVar4 = FUN_000f7f20();\n  if (iVar4 == 0) {\n    (*(code *)PTR_sqlite3_step_0015b630)(local_18);\n    iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    param_2 = (code ******)local_18;\n  }\n  *param_1 = iVar4;\n  ppppppcVar5 = *(code *******)puVar3;\n  if ((code ******)local_14 == ppppppcVar5) {\n    return ppppppcVar5;\n  }\n  puVar39 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_44 = puVar3;\n  puVar30 = *(uint **)(puVar39 + 0x549c8);\n  pppppcStack_50 = (code *****)0x0;\n  ppppcStack_4c = (code ****)*puVar30;\n  ppppppcVar5 = param_3;\n  piStack_40 = param_1;\n  (*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))();\n  if (param_3 == (code ******)0x0) {\nLAB_00107118:\n    param_3 = *(code *******)(puVar39 + 0x5466c);\n    if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;\n    unaff_s3 = &pppppcStack_50;\n    param_4 = (code ******)0x0;\n    ppppppcVar21 = (code ******)0x3;\n    param_3 = param_3 + 0x1bee;\n    ppppppcVar5 = param_2;\n    FUN_00106fb8(unaff_s3);\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }\n  }\n  else {\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }\n  }\nLAB_001070d4:\n  if ((code *****)ppppcStack_4c == (code *****)*puVar30) {\n    return (code ******)pppppcStack_50;\n  }\n  pcVar40 = *(code **)(puVar39 + 0x549ac);\n  pppppcVar25 = (code *****)ppppcStack_4c;\n  (*pcVar40)();\n  pcStack_98 = pcVar40 + 0x5c3d0;\n  ppppppcVar31 = *(code *******)(pcVar40 + 0x5484c);\n  pppppcStack_8c = *ppppppcVar31;\n  pppppcStack_84 = (code *****)param_2;\n  puStack_80 = puVar30;\n  pppppcStack_7c = (code *****)param_3;\n  pppppcStack_78 = (code *****)unaff_s3;\n  if (pppppcVar25[10] == (code ****)0x0) {\n    param_4 = ppppppcVar5 + 1;\n    ppppppcVar38 = &pppppcStack_90;\n    ppppppcVar17 = (code ******)0x12;\n    ppppppcVar33 = (code ******)FUN_000f7f20();\n    pppppcVar29 = pppppcStack_90;\n    if (ppppppcVar33 == (code ******)0x0) {\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];\n    ppppppcVar17 = ppppppcVar5;\n    ppppppcVar38 = ppppppcVar21;\n    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);\n    if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }\n  }\nLAB_00107278:\n  if (pppppcStack_8c == *ppppppcVar31) {\n    return ppppppcVar33;\n  }\n  pcVar40 = *(code **)(pcStack_98 + -0x7ba0);\n  pcVar42 = FUN_00107430;\n  ppppppcVar23 = (code ******)pppppcStack_8c;\n  (*pcVar40)();\n  ppppppcVar35 = *(code *******)(pcVar40 + 0x545fc);\n  ppppppcVar26 = (code ******)*ppppppcVar23;\n  pppppcStack_c4 = *ppppppcVar35;\n  ppppppcVar32 = ppppppcVar23;\n  ppppppcVar28 = ppppppcVar17;\n  ppppcStack_c0 = (code ****)pppppcVar25;\n  pppppcStack_bc = (code *****)ppppppcVar31;\n  pppppcStack_b8 = (code *****)ppppppcVar33;\n  pppppcStack_b4 = (code *****)ppppppcVar5;\n  pppppcStack_b0 = (code *****)ppppppcVar21;\n  pcStack_ac = pcVar42;\n  if (ppppppcVar26 == (code ******)0x0) {\n    pppppcVar25 = ppppppcVar17[6];\n    param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);\n    ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);\n    ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2);\n    ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();\n    ppppppcVar21 = ppppppcVar23;\n    if (ppppppcVar31 == (code ******)0x0) {\n      *ppppppcVar23 = (code *****)0x7;\n    }\n    else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }\n  }\n  if (pppppcStack_c4 == *ppppppcVar35) {\n    return (code ******)*ppppppcVar35;\n  }\n  pcVar40 = *(code **)(pcVar40 + 0x545e0);\n  (*pcVar40)();\n  pcStack_148 = pcVar40 + 0x5bf88;\n  piVar27 = *(int **)(pcVar40 + 0x54404);\n  pppppcStack_11c = (code *****)*piVar27;\n  ppppppcVar5 = ppppppcVar32;\n  ppppppcVar33 = ppppppcVar38;\n  ppppppcVar23 = param_4;\n  pppppcStack_118 = (code *****)ppppppcVar26;\n  pppppcStack_114 = (code *****)ppppppcVar31;\n  pppppcStack_110 = (code *****)ppppppcVar35;\n  pppppcStack_10c = (code *****)ppppppcVar17;\n  pppppcStack_108 = (code *****)ppppppcVar21;\n  pppppcStack_104 = (code *****)unaff_s5;\n  if (*ppppppcVar32 == (code *****)0x0) {\n    ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);\n    ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);\n    ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);\n    ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);\n    ppppppcVar17 = ppppppcVar28;\n    unaff_s5 = ppppppcVar38;\n    unaff_s6 = param_4;\n    if (ppppppcVar35 == (code ******)0x0) {\n      *ppppppcVar32 = (code *****)0x7;\n    }\n    else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }\n  }\nLAB_0010767c:\n  if ((code ******)pppppcStack_11c == (code ******)*piVar27) {\n    return (code ******)*piVar27;\n  }\n  pcVar40 = *(code **)(pcStack_148 + -0x7ba0);\n  pcVar42 = FUN_00107a84;\n  (*pcVar40)();\n  pcStack_190 = pcVar40 + 0x5bb2c;\n  puVar30 = *(uint **)(pcVar40 + 0x53fa8);\n  ppppcStack_184 = (code ****)*puVar30;\n  piStack_17c = piVar27;\n  pppppcStack_178 = (code *****)ppppppcVar32;\n  pppppcStack_174 = (code *****)ppppppcVar35;\n  pppppcStack_170 = (code *****)ppppppcVar17;\n  pppppcStack_16c = (code *****)ppppppcVar21;\n  pppppcStack_168 = (code *****)unaff_s5;\n  pcStack_164 = pcVar42;\n  if (*(ushort *)(ppppppcVar5 + 1) < 2) {\n    iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);\n    if (iVar4 == 100) {\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }\n    else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }\n  }\n  else {\n    ppppppcVar32 = (code ******)ppppppcVar5[4];\n    pppppcStack_188 = (code *****)0x0;\n    if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }\n    pppppcVar25 = ppppppcVar5[8];\n    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }\n    ppppppcVar31 = (code ******)0x0;\n    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n  }\nLAB_00107b8c:\n  if ((code *****)ppppcStack_184 == (code *****)*puVar30) {\n    return ppppppcVar31;\n  }\n  pcVar42 = *(code **)(pcStack_190 + -0x7ba0);\n  pcVar43 = FUN_00107cac;\n  pppppcVar25 = (code *****)ppppcStack_184;\n  (*pcVar42)();\n  ppppppcVar38 = (code ******)pppppcStack_188;\n  pcVar40 = pcStack_190;\n  piVar18 = *(int **)(pcVar42 + 0x53d80);\n  ppppppcVar28 = (code ******)((int)((int)ppppppcVar23 + -2) * 4);\n  pppppcStack_218 = (code *****)0x0;\n  iStack_1cc = *piVar18;\n  cVar1 = *(char *)(*(int *)pcStack_190 + 3);\n  ppppcStack_214 = (code ****)0x0;\n  ppppppcVar26 = ppppppcVar33;\n  ppppppcVar35 = ppppppcVar23;\n  pppppcStack_1c8 = (code *****)ppppppcVar5;\n  pppppcStack_1c4 = (code *****)ppppppcVar32;\n  puStack_1c0 = puVar30;\n  pppppcStack_1bc = (code *****)ppppppcVar17;\n  pppppcStack_1b8 = (code *****)ppppppcVar21;\n  pppppcStack_1b4 = (code *****)unaff_s5;\n  pppppcStack_1b0 = (code *****)unaff_s6;\n  pppppcStack_1ac = (code *****)unaff_s7;\n  pppppcStack_1a8 = (code *****)unaff_s8;\n  pcStack_1a4 = pcVar43;\n  pppppcStack_1a0 = (code *****)ppppppcVar31;\n  iVar4 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4));\n  iVar6 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8));\n  ppppppcVar21 = ppppppcVar28;\n  piVar27 = (int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n  if (piVar27 != (int *)0x0) {\n    ppppppcVar26 = ppppppcVar28;\n    (**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);\n    ppppppcVar21 = ppppppcVar28;\n    iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n    if (iStack_284 != 0) {\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }\n  }\n  ppppppcVar28 = ppppppcVar26;\n  iStack_284 = 0;\n  iStack_278 = 0;\n  ppppppcVar5 = (code ******)0x0;\n  pppppcStack_218 = (code *****)&DAT_00000007;\nLAB_00107f4c:\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(iStack_278);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(piVar27);\n  (**(code **)(pcVar42 + 0x53974))(iStack_284);\n  if ((code ******)pppppcStack_218 == (code ******)0x0) {\n    *puStack_18c = ppppppcVar5;\n  }\n  else if (ppppppcVar5 == (code ******)0x0) {\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }\n  if (iStack_1cc == *piVar18) {\n    return (code ******)pppppcStack_218;\n  }\n  iVar4 = iStack_1cc;\n  (**(code **)(pcVar42 + 0x53d64))();\n  ppppppcVar21 = (code ******)\n                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c);\n  return ppppppcVar21;\n}" (type_identifier "code") (pointer_declarator "****** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" (* "*") (pointer_declarator "***** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" (* "*") (pointer_declarator "**** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" (* "*") (pointer_declarator "*** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" (* "*") (pointer_declarator "** FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" (* "*") (pointer_declarator "* FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" (* "*") (function_declarator "FUN_00106fb8(int *param_1,code ******param_2,code ******param_3,code ******param_4)" (identifier "FUN_00106fb8") (parameter_list "(int *param_1,code ******param_2,code ******param_3,code ******param_4)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "code ******param_2" (type_identifier "code") (pointer_declarator "******param_2" (* "*") (pointer_declarator "*****param_2" (* "*") (pointer_declarator "****param_2" (* "*") (pointer_declarator "***param_2" (* "*") (pointer_declarator "**param_2" (* "*") (pointer_declarator "*param_2" (* "*") (identifier "param_2")))))))) (, ",") (parameter_declaration "code ******param_3" (type_identifier "code") (pointer_declarator "******param_3" (* "*") (pointer_declarator "*****param_3" (* "*") (pointer_declarator "****param_3" (* "*") (pointer_declarator "***param_3" (* "*") (pointer_declarator "**param_3" (* "*") (pointer_declarator "*param_3" (* "*") (identifier "param_3")))))))) (, ",") (parameter_declaration "code ******param_4" (type_identifier "code") (pointer_declarator "******param_4" (* "*") (pointer_declarator "*****param_4" (* "*") (pointer_declarator "****param_4" (* "*") (pointer_declarator "***param_4" (* "*") (pointer_declarator "**param_4" (* "*") (pointer_declarator "*param_4" (* "*") (identifier "param_4")))))))) () ")"))))))))) (compound_statement "{\n  char cVar1;\n  byte bVar2;\n  undefined *puVar3;\n  int iVar4;\n  code ******ppppppcVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  int iVar13;\n  uint *puVar14;\n  undefined4 uVar15;\n  int *piVar16;\n  code ******ppppppcVar17;\n  int *piVar18;\n  code *****pppppcVar19;\n  code cVar20;\n  code ******ppppppcVar21;\n  code *****pppppcVar22;\n  code ******ppppppcVar23;\n  undefined1 *puVar24;\n  code *****pppppcVar25;\n  code ******ppppppcVar26;\n  int *piVar27;\n  code ******ppppppcVar28;\n  code *****pppppcVar29;\n  uint *puVar30;\n  code ******ppppppcVar31;\n  code ******ppppppcVar32;\n  code ******ppppppcVar33;\n  code ****ppppcVar34;\n  code ******ppppppcVar35;\n  int iVar36;\n  code ******unaff_s3;\n  code *****pppppcVar37;\n  code ******unaff_s5;\n  code ******ppppppcVar38;\n  code ******unaff_s6;\n  code ******unaff_s7;\n  undefined *puVar39;\n  code *pcVar40;\n  code *pcVar41;\n  code ******unaff_s8;\n  code *pcVar42;\n  code *pcVar43;\n  undefined8 uVar44;\n  code *****in_stack_fffffd68;\n  int in_stack_fffffd6c;\n  int iStack_284;\n  int iStack_278;\n  code *****pppppcStack_218;\n  code ****ppppcStack_214;\n  code *****pppppcStack_210;\n  code ****appppcStack_20c [16];\n  int iStack_1cc;\n  code *****pppppcStack_1c8;\n  code *****pppppcStack_1c4;\n  uint *puStack_1c0;\n  code *****pppppcStack_1bc;\n  code *****pppppcStack_1b8;\n  code *****pppppcStack_1b4;\n  code *****pppppcStack_1b0;\n  code *****pppppcStack_1ac;\n  code *****pppppcStack_1a8;\n  code *pcStack_1a4;\n  code *****pppppcStack_1a0;\n  code *pcStack_190;\n  undefined4 *puStack_18c;\n  code *****pppppcStack_188;\n  code ****ppppcStack_184;\n  int *piStack_17c;\n  code *****pppppcStack_178;\n  code *****pppppcStack_174;\n  code *****pppppcStack_170;\n  code *****pppppcStack_16c;\n  code *****pppppcStack_168;\n  code *pcStack_164;\n  undefined4 uStack_150;\n  code *pcStack_148;\n  code *****pppppcStack_140;\n  code *pcStack_13c;\n  int iStack_138;\n  int iStack_134;\n  code ****ppppcStack_12c;\n  undefined1 auStack_128 [4];\n  code ****ppppcStack_124;\n  code *****pppppcStack_11c;\n  code *****pppppcStack_118;\n  code *****pppppcStack_114;\n  code *****pppppcStack_110;\n  code *****pppppcStack_10c;\n  code *****pppppcStack_108;\n  code *****pppppcStack_104;\n  int iStack_e0;\n  code *****pppppcStack_c8;\n  code *****pppppcStack_c4;\n  code ****ppppcStack_c0;\n  code *****pppppcStack_bc;\n  code *****pppppcStack_b8;\n  code *****pppppcStack_b4;\n  code *****pppppcStack_b0;\n  code *pcStack_ac;\n  code *pcStack_98;\n  code *****pppppcStack_90;\n  code *****pppppcStack_8c;\n  code *****pppppcStack_84;\n  uint *puStack_80;\n  code *****pppppcStack_7c;\n  code *****pppppcStack_78;\n  code *****pppppcStack_50;\n  code ****ppppcStack_4c;\n  undefined *puStack_44;\n  int *piStack_40;\n  code *****local_18;\n  code *****local_14;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  ppppppcVar21 = &local_18;\n  local_14 = *(code ******)PTR___stack_chk_guard_0015ba2c;\n  iVar4 = FUN_000f7f20();\n  if (iVar4 == 0) {\n    (*(code *)PTR_sqlite3_step_0015b630)(local_18);\n    iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    param_2 = (code ******)local_18;\n  }\n  *param_1 = iVar4;\n  ppppppcVar5 = *(code *******)puVar3;\n  if ((code ******)local_14 == ppppppcVar5) {\n    return ppppppcVar5;\n  }\n  puVar39 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_44 = puVar3;\n  puVar30 = *(uint **)(puVar39 + 0x549c8);\n  pppppcStack_50 = (code *****)0x0;\n  ppppcStack_4c = (code ****)*puVar30;\n  ppppppcVar5 = param_3;\n  piStack_40 = param_1;\n  (*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))();\n  if (param_3 == (code ******)0x0) {\nLAB_00107118:\n    param_3 = *(code *******)(puVar39 + 0x5466c);\n    if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;\n    unaff_s3 = &pppppcStack_50;\n    param_4 = (code ******)0x0;\n    ppppppcVar21 = (code ******)0x3;\n    param_3 = param_3 + 0x1bee;\n    ppppppcVar5 = param_2;\n    FUN_00106fb8(unaff_s3);\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }\n  }\n  else {\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }\n  }\nLAB_001070d4:\n  if ((code *****)ppppcStack_4c == (code *****)*puVar30) {\n    return (code ******)pppppcStack_50;\n  }\n  pcVar40 = *(code **)(puVar39 + 0x549ac);\n  pppppcVar25 = (code *****)ppppcStack_4c;\n  (*pcVar40)();\n  pcStack_98 = pcVar40 + 0x5c3d0;\n  ppppppcVar31 = *(code *******)(pcVar40 + 0x5484c);\n  pppppcStack_8c = *ppppppcVar31;\n  pppppcStack_84 = (code *****)param_2;\n  puStack_80 = puVar30;\n  pppppcStack_7c = (code *****)param_3;\n  pppppcStack_78 = (code *****)unaff_s3;\n  if (pppppcVar25[10] == (code ****)0x0) {\n    param_4 = ppppppcVar5 + 1;\n    ppppppcVar38 = &pppppcStack_90;\n    ppppppcVar17 = (code ******)0x12;\n    ppppppcVar33 = (code ******)FUN_000f7f20();\n    pppppcVar29 = pppppcStack_90;\n    if (ppppppcVar33 == (code ******)0x0) {\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];\n    ppppppcVar17 = ppppppcVar5;\n    ppppppcVar38 = ppppppcVar21;\n    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);\n    if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }\n  }\nLAB_00107278:\n  if (pppppcStack_8c == *ppppppcVar31) {\n    return ppppppcVar33;\n  }\n  pcVar40 = *(code **)(pcStack_98 + -0x7ba0);\n  pcVar42 = FUN_00107430;\n  ppppppcVar23 = (code ******)pppppcStack_8c;\n  (*pcVar40)();\n  ppppppcVar35 = *(code *******)(pcVar40 + 0x545fc);\n  ppppppcVar26 = (code ******)*ppppppcVar23;\n  pppppcStack_c4 = *ppppppcVar35;\n  ppppppcVar32 = ppppppcVar23;\n  ppppppcVar28 = ppppppcVar17;\n  ppppcStack_c0 = (code ****)pppppcVar25;\n  pppppcStack_bc = (code *****)ppppppcVar31;\n  pppppcStack_b8 = (code *****)ppppppcVar33;\n  pppppcStack_b4 = (code *****)ppppppcVar5;\n  pppppcStack_b0 = (code *****)ppppppcVar21;\n  pcStack_ac = pcVar42;\n  if (ppppppcVar26 == (code ******)0x0) {\n    pppppcVar25 = ppppppcVar17[6];\n    param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);\n    ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);\n    ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2);\n    ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();\n    ppppppcVar21 = ppppppcVar23;\n    if (ppppppcVar31 == (code ******)0x0) {\n      *ppppppcVar23 = (code *****)0x7;\n    }\n    else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }\n  }\n  if (pppppcStack_c4 == *ppppppcVar35) {\n    return (code ******)*ppppppcVar35;\n  }\n  pcVar40 = *(code **)(pcVar40 + 0x545e0);\n  (*pcVar40)();\n  pcStack_148 = pcVar40 + 0x5bf88;\n  piVar27 = *(int **)(pcVar40 + 0x54404);\n  pppppcStack_11c = (code *****)*piVar27;\n  ppppppcVar5 = ppppppcVar32;\n  ppppppcVar33 = ppppppcVar38;\n  ppppppcVar23 = param_4;\n  pppppcStack_118 = (code *****)ppppppcVar26;\n  pppppcStack_114 = (code *****)ppppppcVar31;\n  pppppcStack_110 = (code *****)ppppppcVar35;\n  pppppcStack_10c = (code *****)ppppppcVar17;\n  pppppcStack_108 = (code *****)ppppppcVar21;\n  pppppcStack_104 = (code *****)unaff_s5;\n  if (*ppppppcVar32 == (code *****)0x0) {\n    ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);\n    ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);\n    ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);\n    ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);\n    ppppppcVar17 = ppppppcVar28;\n    unaff_s5 = ppppppcVar38;\n    unaff_s6 = param_4;\n    if (ppppppcVar35 == (code ******)0x0) {\n      *ppppppcVar32 = (code *****)0x7;\n    }\n    else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }\n  }\nLAB_0010767c:\n  if ((code ******)pppppcStack_11c == (code ******)*piVar27) {\n    return (code ******)*piVar27;\n  }\n  pcVar40 = *(code **)(pcStack_148 + -0x7ba0);\n  pcVar42 = FUN_00107a84;\n  (*pcVar40)();\n  pcStack_190 = pcVar40 + 0x5bb2c;\n  puVar30 = *(uint **)(pcVar40 + 0x53fa8);\n  ppppcStack_184 = (code ****)*puVar30;\n  piStack_17c = piVar27;\n  pppppcStack_178 = (code *****)ppppppcVar32;\n  pppppcStack_174 = (code *****)ppppppcVar35;\n  pppppcStack_170 = (code *****)ppppppcVar17;\n  pppppcStack_16c = (code *****)ppppppcVar21;\n  pppppcStack_168 = (code *****)unaff_s5;\n  pcStack_164 = pcVar42;\n  if (*(ushort *)(ppppppcVar5 + 1) < 2) {\n    iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);\n    if (iVar4 == 100) {\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }\n    else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }\n  }\n  else {\n    ppppppcVar32 = (code ******)ppppppcVar5[4];\n    pppppcStack_188 = (code *****)0x0;\n    if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }\n    pppppcVar25 = ppppppcVar5[8];\n    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }\n    ppppppcVar31 = (code ******)0x0;\n    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n  }\nLAB_00107b8c:\n  if ((code *****)ppppcStack_184 == (code *****)*puVar30) {\n    return ppppppcVar31;\n  }\n  pcVar42 = *(code **)(pcStack_190 + -0x7ba0);\n  pcVar43 = FUN_00107cac;\n  pppppcVar25 = (code *****)ppppcStack_184;\n  (*pcVar42)();\n  ppppppcVar38 = (code ******)pppppcStack_188;\n  pcVar40 = pcStack_190;\n  piVar18 = *(int **)(pcVar42 + 0x53d80);\n  ppppppcVar28 = (code ******)((int)((int)ppppppcVar23 + -2) * 4);\n  pppppcStack_218 = (code *****)0x0;\n  iStack_1cc = *piVar18;\n  cVar1 = *(char *)(*(int *)pcStack_190 + 3);\n  ppppcStack_214 = (code ****)0x0;\n  ppppppcVar26 = ppppppcVar33;\n  ppppppcVar35 = ppppppcVar23;\n  pppppcStack_1c8 = (code *****)ppppppcVar5;\n  pppppcStack_1c4 = (code *****)ppppppcVar32;\n  puStack_1c0 = puVar30;\n  pppppcStack_1bc = (code *****)ppppppcVar17;\n  pppppcStack_1b8 = (code *****)ppppppcVar21;\n  pppppcStack_1b4 = (code *****)unaff_s5;\n  pppppcStack_1b0 = (code *****)unaff_s6;\n  pppppcStack_1ac = (code *****)unaff_s7;\n  pppppcStack_1a8 = (code *****)unaff_s8;\n  pcStack_1a4 = pcVar43;\n  pppppcStack_1a0 = (code *****)ppppppcVar31;\n  iVar4 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4));\n  iVar6 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8));\n  ppppppcVar21 = ppppppcVar28;\n  piVar27 = (int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n  if (piVar27 != (int *)0x0) {\n    ppppppcVar26 = ppppppcVar28;\n    (**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);\n    ppppppcVar21 = ppppppcVar28;\n    iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n    if (iStack_284 != 0) {\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }\n  }\n  ppppppcVar28 = ppppppcVar26;\n  iStack_284 = 0;\n  iStack_278 = 0;\n  ppppppcVar5 = (code ******)0x0;\n  pppppcStack_218 = (code *****)&DAT_00000007;\nLAB_00107f4c:\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(iStack_278);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(0);\n  (**(code **)(pcVar42 + 0x53974))(piVar27);\n  (**(code **)(pcVar42 + 0x53974))(iStack_284);\n  if ((code ******)pppppcStack_218 == (code ******)0x0) {\n    *puStack_18c = ppppppcVar5;\n  }\n  else if (ppppppcVar5 == (code ******)0x0) {\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }\n  if (iStack_1cc == *piVar18) {\n    return (code ******)pppppcStack_218;\n  }\n  iVar4 = iStack_1cc;\n  (**(code **)(pcVar42 + 0x53d64))();\n  ppppppcVar21 = (code ******)\n                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c);\n  return ppppppcVar21;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "code ******ppppppcVar5;" (type_identifier "code") (pointer_declarator "******ppppppcVar5" (* "*") (pointer_declarator "*****ppppppcVar5" (* "*") (pointer_declarator "****ppppppcVar5" (* "*") (pointer_declarator "***ppppppcVar5" (* "*") (pointer_declarator "**ppppppcVar5" (* "*") (pointer_declarator "*ppppppcVar5" (* "*") (identifier "ppppppcVar5"))))))) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "uint *puVar14;" (type_identifier "uint") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined4 uVar15;" (type_identifier "undefined4") (identifier "uVar15") (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "code ******ppppppcVar17;" (type_identifier "code") (pointer_declarator "******ppppppcVar17" (* "*") (pointer_declarator "*****ppppppcVar17" (* "*") (pointer_declarator "****ppppppcVar17" (* "*") (pointer_declarator "***ppppppcVar17" (* "*") (pointer_declarator "**ppppppcVar17" (* "*") (pointer_declarator "*ppppppcVar17" (* "*") (identifier "ppppppcVar17"))))))) (; ";")) (declaration "int *piVar18;" (primitive_type "int") (pointer_declarator "*piVar18" (* "*") (identifier "piVar18")) (; ";")) (declaration "code *****pppppcVar19;" (type_identifier "code") (pointer_declarator "*****pppppcVar19" (* "*") (pointer_declarator "****pppppcVar19" (* "*") (pointer_declarator "***pppppcVar19" (* "*") (pointer_declarator "**pppppcVar19" (* "*") (pointer_declarator "*pppppcVar19" (* "*") (identifier "pppppcVar19")))))) (; ";")) (declaration "code cVar20;" (type_identifier "code") (identifier "cVar20") (; ";")) (declaration "code ******ppppppcVar21;" (type_identifier "code") (pointer_declarator "******ppppppcVar21" (* "*") (pointer_declarator "*****ppppppcVar21" (* "*") (pointer_declarator "****ppppppcVar21" (* "*") (pointer_declarator "***ppppppcVar21" (* "*") (pointer_declarator "**ppppppcVar21" (* "*") (pointer_declarator "*ppppppcVar21" (* "*") (identifier "ppppppcVar21"))))))) (; ";")) (declaration "code *****pppppcVar22;" (type_identifier "code") (pointer_declarator "*****pppppcVar22" (* "*") (pointer_declarator "****pppppcVar22" (* "*") (pointer_declarator "***pppppcVar22" (* "*") (pointer_declarator "**pppppcVar22" (* "*") (pointer_declarator "*pppppcVar22" (* "*") (identifier "pppppcVar22")))))) (; ";")) (declaration "code ******ppppppcVar23;" (type_identifier "code") (pointer_declarator "******ppppppcVar23" (* "*") (pointer_declarator "*****ppppppcVar23" (* "*") (pointer_declarator "****ppppppcVar23" (* "*") (pointer_declarator "***ppppppcVar23" (* "*") (pointer_declarator "**ppppppcVar23" (* "*") (pointer_declarator "*ppppppcVar23" (* "*") (identifier "ppppppcVar23"))))))) (; ";")) (declaration "undefined1 *puVar24;" (type_identifier "undefined1") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "code *****pppppcVar25;" (type_identifier "code") (pointer_declarator "*****pppppcVar25" (* "*") (pointer_declarator "****pppppcVar25" (* "*") (pointer_declarator "***pppppcVar25" (* "*") (pointer_declarator "**pppppcVar25" (* "*") (pointer_declarator "*pppppcVar25" (* "*") (identifier "pppppcVar25")))))) (; ";")) (declaration "code ******ppppppcVar26;" (type_identifier "code") (pointer_declarator "******ppppppcVar26" (* "*") (pointer_declarator "*****ppppppcVar26" (* "*") (pointer_declarator "****ppppppcVar26" (* "*") (pointer_declarator "***ppppppcVar26" (* "*") (pointer_declarator "**ppppppcVar26" (* "*") (pointer_declarator "*ppppppcVar26" (* "*") (identifier "ppppppcVar26"))))))) (; ";")) (declaration "int *piVar27;" (primitive_type "int") (pointer_declarator "*piVar27" (* "*") (identifier "piVar27")) (; ";")) (declaration "code ******ppppppcVar28;" (type_identifier "code") (pointer_declarator "******ppppppcVar28" (* "*") (pointer_declarator "*****ppppppcVar28" (* "*") (pointer_declarator "****ppppppcVar28" (* "*") (pointer_declarator "***ppppppcVar28" (* "*") (pointer_declarator "**ppppppcVar28" (* "*") (pointer_declarator "*ppppppcVar28" (* "*") (identifier "ppppppcVar28"))))))) (; ";")) (declaration "code *****pppppcVar29;" (type_identifier "code") (pointer_declarator "*****pppppcVar29" (* "*") (pointer_declarator "****pppppcVar29" (* "*") (pointer_declarator "***pppppcVar29" (* "*") (pointer_declarator "**pppppcVar29" (* "*") (pointer_declarator "*pppppcVar29" (* "*") (identifier "pppppcVar29")))))) (; ";")) (declaration "uint *puVar30;" (type_identifier "uint") (pointer_declarator "*puVar30" (* "*") (identifier "puVar30")) (; ";")) (declaration "code ******ppppppcVar31;" (type_identifier "code") (pointer_declarator "******ppppppcVar31" (* "*") (pointer_declarator "*****ppppppcVar31" (* "*") (pointer_declarator "****ppppppcVar31" (* "*") (pointer_declarator "***ppppppcVar31" (* "*") (pointer_declarator "**ppppppcVar31" (* "*") (pointer_declarator "*ppppppcVar31" (* "*") (identifier "ppppppcVar31"))))))) (; ";")) (declaration "code ******ppppppcVar32;" (type_identifier "code") (pointer_declarator "******ppppppcVar32" (* "*") (pointer_declarator "*****ppppppcVar32" (* "*") (pointer_declarator "****ppppppcVar32" (* "*") (pointer_declarator "***ppppppcVar32" (* "*") (pointer_declarator "**ppppppcVar32" (* "*") (pointer_declarator "*ppppppcVar32" (* "*") (identifier "ppppppcVar32"))))))) (; ";")) (declaration "code ******ppppppcVar33;" (type_identifier "code") (pointer_declarator "******ppppppcVar33" (* "*") (pointer_declarator "*****ppppppcVar33" (* "*") (pointer_declarator "****ppppppcVar33" (* "*") (pointer_declarator "***ppppppcVar33" (* "*") (pointer_declarator "**ppppppcVar33" (* "*") (pointer_declarator "*ppppppcVar33" (* "*") (identifier "ppppppcVar33"))))))) (; ";")) (declaration "code ****ppppcVar34;" (type_identifier "code") (pointer_declarator "****ppppcVar34" (* "*") (pointer_declarator "***ppppcVar34" (* "*") (pointer_declarator "**ppppcVar34" (* "*") (pointer_declarator "*ppppcVar34" (* "*") (identifier "ppppcVar34"))))) (; ";")) (declaration "code ******ppppppcVar35;" (type_identifier "code") (pointer_declarator "******ppppppcVar35" (* "*") (pointer_declarator "*****ppppppcVar35" (* "*") (pointer_declarator "****ppppppcVar35" (* "*") (pointer_declarator "***ppppppcVar35" (* "*") (pointer_declarator "**ppppppcVar35" (* "*") (pointer_declarator "*ppppppcVar35" (* "*") (identifier "ppppppcVar35"))))))) (; ";")) (declaration "int iVar36;" (primitive_type "int") (identifier "iVar36") (; ";")) (declaration "code ******unaff_s3;" (type_identifier "code") (pointer_declarator "******unaff_s3" (* "*") (pointer_declarator "*****unaff_s3" (* "*") (pointer_declarator "****unaff_s3" (* "*") (pointer_declarator "***unaff_s3" (* "*") (pointer_declarator "**unaff_s3" (* "*") (pointer_declarator "*unaff_s3" (* "*") (identifier "unaff_s3"))))))) (; ";")) (declaration "code *****pppppcVar37;" (type_identifier "code") (pointer_declarator "*****pppppcVar37" (* "*") (pointer_declarator "****pppppcVar37" (* "*") (pointer_declarator "***pppppcVar37" (* "*") (pointer_declarator "**pppppcVar37" (* "*") (pointer_declarator "*pppppcVar37" (* "*") (identifier "pppppcVar37")))))) (; ";")) (declaration "code ******unaff_s5;" (type_identifier "code") (pointer_declarator "******unaff_s5" (* "*") (pointer_declarator "*****unaff_s5" (* "*") (pointer_declarator "****unaff_s5" (* "*") (pointer_declarator "***unaff_s5" (* "*") (pointer_declarator "**unaff_s5" (* "*") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5"))))))) (; ";")) (declaration "code ******ppppppcVar38;" (type_identifier "code") (pointer_declarator "******ppppppcVar38" (* "*") (pointer_declarator "*****ppppppcVar38" (* "*") (pointer_declarator "****ppppppcVar38" (* "*") (pointer_declarator "***ppppppcVar38" (* "*") (pointer_declarator "**ppppppcVar38" (* "*") (pointer_declarator "*ppppppcVar38" (* "*") (identifier "ppppppcVar38"))))))) (; ";")) (declaration "code ******unaff_s6;" (type_identifier "code") (pointer_declarator "******unaff_s6" (* "*") (pointer_declarator "*****unaff_s6" (* "*") (pointer_declarator "****unaff_s6" (* "*") (pointer_declarator "***unaff_s6" (* "*") (pointer_declarator "**unaff_s6" (* "*") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6"))))))) (; ";")) (declaration "code ******unaff_s7;" (type_identifier "code") (pointer_declarator "******unaff_s7" (* "*") (pointer_declarator "*****unaff_s7" (* "*") (pointer_declarator "****unaff_s7" (* "*") (pointer_declarator "***unaff_s7" (* "*") (pointer_declarator "**unaff_s7" (* "*") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7"))))))) (; ";")) (declaration "undefined *puVar39;" (type_identifier "undefined") (pointer_declarator "*puVar39" (* "*") (identifier "puVar39")) (; ";")) (declaration "code *pcVar40;" (type_identifier "code") (pointer_declarator "*pcVar40" (* "*") (identifier "pcVar40")) (; ";")) (declaration "code *pcVar41;" (type_identifier "code") (pointer_declarator "*pcVar41" (* "*") (identifier "pcVar41")) (; ";")) (declaration "code ******unaff_s8;" (type_identifier "code") (pointer_declarator "******unaff_s8" (* "*") (pointer_declarator "*****unaff_s8" (* "*") (pointer_declarator "****unaff_s8" (* "*") (pointer_declarator "***unaff_s8" (* "*") (pointer_declarator "**unaff_s8" (* "*") (pointer_declarator "*unaff_s8" (* "*") (identifier "unaff_s8"))))))) (; ";")) (declaration "code *pcVar42;" (type_identifier "code") (pointer_declarator "*pcVar42" (* "*") (identifier "pcVar42")) (; ";")) (declaration "code *pcVar43;" (type_identifier "code") (pointer_declarator "*pcVar43" (* "*") (identifier "pcVar43")) (; ";")) (declaration "undefined8 uVar44;" (type_identifier "undefined8") (identifier "uVar44") (; ";")) (declaration "code *****in_stack_fffffd68;" (type_identifier "code") (pointer_declarator "*****in_stack_fffffd68" (* "*") (pointer_declarator "****in_stack_fffffd68" (* "*") (pointer_declarator "***in_stack_fffffd68" (* "*") (pointer_declarator "**in_stack_fffffd68" (* "*") (pointer_declarator "*in_stack_fffffd68" (* "*") (identifier "in_stack_fffffd68")))))) (; ";")) (declaration "int in_stack_fffffd6c;" (primitive_type "int") (identifier "in_stack_fffffd6c") (; ";")) (declaration "int iStack_284;" (primitive_type "int") (identifier "iStack_284") (; ";")) (declaration "int iStack_278;" (primitive_type "int") (identifier "iStack_278") (; ";")) (declaration "code *****pppppcStack_218;" (type_identifier "code") (pointer_declarator "*****pppppcStack_218" (* "*") (pointer_declarator "****pppppcStack_218" (* "*") (pointer_declarator "***pppppcStack_218" (* "*") (pointer_declarator "**pppppcStack_218" (* "*") (pointer_declarator "*pppppcStack_218" (* "*") (identifier "pppppcStack_218")))))) (; ";")) (declaration "code ****ppppcStack_214;" (type_identifier "code") (pointer_declarator "****ppppcStack_214" (* "*") (pointer_declarator "***ppppcStack_214" (* "*") (pointer_declarator "**ppppcStack_214" (* "*") (pointer_declarator "*ppppcStack_214" (* "*") (identifier "ppppcStack_214"))))) (; ";")) (declaration "code *****pppppcStack_210;" (type_identifier "code") (pointer_declarator "*****pppppcStack_210" (* "*") (pointer_declarator "****pppppcStack_210" (* "*") (pointer_declarator "***pppppcStack_210" (* "*") (pointer_declarator "**pppppcStack_210" (* "*") (pointer_declarator "*pppppcStack_210" (* "*") (identifier "pppppcStack_210")))))) (; ";")) (declaration "code ****appppcStack_20c [16];" (type_identifier "code") (pointer_declarator "****appppcStack_20c [16]" (* "*") (pointer_declarator "***appppcStack_20c [16]" (* "*") (pointer_declarator "**appppcStack_20c [16]" (* "*") (pointer_declarator "*appppcStack_20c [16]" (* "*") (array_declarator "appppcStack_20c [16]" (identifier "appppcStack_20c") ([ "[") (number_literal "16") (] "]")))))) (; ";")) (declaration "int iStack_1cc;" (primitive_type "int") (identifier "iStack_1cc") (; ";")) (declaration "code *****pppppcStack_1c8;" (type_identifier "code") (pointer_declarator "*****pppppcStack_1c8" (* "*") (pointer_declarator "****pppppcStack_1c8" (* "*") (pointer_declarator "***pppppcStack_1c8" (* "*") (pointer_declarator "**pppppcStack_1c8" (* "*") (pointer_declarator "*pppppcStack_1c8" (* "*") (identifier "pppppcStack_1c8")))))) (; ";")) (declaration "code *****pppppcStack_1c4;" (type_identifier "code") (pointer_declarator "*****pppppcStack_1c4" (* "*") (pointer_declarator "****pppppcStack_1c4" (* "*") (pointer_declarator "***pppppcStack_1c4" (* "*") (pointer_declarator "**pppppcStack_1c4" (* "*") (pointer_declarator "*pppppcStack_1c4" (* "*") (identifier "pppppcStack_1c4")))))) (; ";")) (declaration "uint *puStack_1c0;" (type_identifier "uint") (pointer_declarator "*puStack_1c0" (* "*") (identifier "puStack_1c0")) (; ";")) (declaration "code *****pppppcStack_1bc;" (type_identifier "code") (pointer_declarator "*****pppppcStack_1bc" (* "*") (pointer_declarator "****pppppcStack_1bc" (* "*") (pointer_declarator "***pppppcStack_1bc" (* "*") (pointer_declarator "**pppppcStack_1bc" (* "*") (pointer_declarator "*pppppcStack_1bc" (* "*") (identifier "pppppcStack_1bc")))))) (; ";")) (declaration "code *****pppppcStack_1b8;" (type_identifier "code") (pointer_declarator "*****pppppcStack_1b8" (* "*") (pointer_declarator "****pppppcStack_1b8" (* "*") (pointer_declarator "***pppppcStack_1b8" (* "*") (pointer_declarator "**pppppcStack_1b8" (* "*") (pointer_declarator "*pppppcStack_1b8" (* "*") (identifier "pppppcStack_1b8")))))) (; ";")) (declaration "code *****pppppcStack_1b4;" (type_identifier "code") (pointer_declarator "*****pppppcStack_1b4" (* "*") (pointer_declarator "****pppppcStack_1b4" (* "*") (pointer_declarator "***pppppcStack_1b4" (* "*") (pointer_declarator "**pppppcStack_1b4" (* "*") (pointer_declarator "*pppppcStack_1b4" (* "*") (identifier "pppppcStack_1b4")))))) (; ";")) (declaration "code *****pppppcStack_1b0;" (type_identifier "code") (pointer_declarator "*****pppppcStack_1b0" (* "*") (pointer_declarator "****pppppcStack_1b0" (* "*") (pointer_declarator "***pppppcStack_1b0" (* "*") (pointer_declarator "**pppppcStack_1b0" (* "*") (pointer_declarator "*pppppcStack_1b0" (* "*") (identifier "pppppcStack_1b0")))))) (; ";")) (declaration "code *****pppppcStack_1ac;" (type_identifier "code") (pointer_declarator "*****pppppcStack_1ac" (* "*") (pointer_declarator "****pppppcStack_1ac" (* "*") (pointer_declarator "***pppppcStack_1ac" (* "*") (pointer_declarator "**pppppcStack_1ac" (* "*") (pointer_declarator "*pppppcStack_1ac" (* "*") (identifier "pppppcStack_1ac")))))) (; ";")) (declaration "code *****pppppcStack_1a8;" (type_identifier "code") (pointer_declarator "*****pppppcStack_1a8" (* "*") (pointer_declarator "****pppppcStack_1a8" (* "*") (pointer_declarator "***pppppcStack_1a8" (* "*") (pointer_declarator "**pppppcStack_1a8" (* "*") (pointer_declarator "*pppppcStack_1a8" (* "*") (identifier "pppppcStack_1a8")))))) (; ";")) (declaration "code *pcStack_1a4;" (type_identifier "code") (pointer_declarator "*pcStack_1a4" (* "*") (identifier "pcStack_1a4")) (; ";")) (declaration "code *****pppppcStack_1a0;" (type_identifier "code") (pointer_declarator "*****pppppcStack_1a0" (* "*") (pointer_declarator "****pppppcStack_1a0" (* "*") (pointer_declarator "***pppppcStack_1a0" (* "*") (pointer_declarator "**pppppcStack_1a0" (* "*") (pointer_declarator "*pppppcStack_1a0" (* "*") (identifier "pppppcStack_1a0")))))) (; ";")) (declaration "code *pcStack_190;" (type_identifier "code") (pointer_declarator "*pcStack_190" (* "*") (identifier "pcStack_190")) (; ";")) (declaration "undefined4 *puStack_18c;" (type_identifier "undefined4") (pointer_declarator "*puStack_18c" (* "*") (identifier "puStack_18c")) (; ";")) (declaration "code *****pppppcStack_188;" (type_identifier "code") (pointer_declarator "*****pppppcStack_188" (* "*") (pointer_declarator "****pppppcStack_188" (* "*") (pointer_declarator "***pppppcStack_188" (* "*") (pointer_declarator "**pppppcStack_188" (* "*") (pointer_declarator "*pppppcStack_188" (* "*") (identifier "pppppcStack_188")))))) (; ";")) (declaration "code ****ppppcStack_184;" (type_identifier "code") (pointer_declarator "****ppppcStack_184" (* "*") (pointer_declarator "***ppppcStack_184" (* "*") (pointer_declarator "**ppppcStack_184" (* "*") (pointer_declarator "*ppppcStack_184" (* "*") (identifier "ppppcStack_184"))))) (; ";")) (declaration "int *piStack_17c;" (primitive_type "int") (pointer_declarator "*piStack_17c" (* "*") (identifier "piStack_17c")) (; ";")) (declaration "code *****pppppcStack_178;" (type_identifier "code") (pointer_declarator "*****pppppcStack_178" (* "*") (pointer_declarator "****pppppcStack_178" (* "*") (pointer_declarator "***pppppcStack_178" (* "*") (pointer_declarator "**pppppcStack_178" (* "*") (pointer_declarator "*pppppcStack_178" (* "*") (identifier "pppppcStack_178")))))) (; ";")) (declaration "code *****pppppcStack_174;" (type_identifier "code") (pointer_declarator "*****pppppcStack_174" (* "*") (pointer_declarator "****pppppcStack_174" (* "*") (pointer_declarator "***pppppcStack_174" (* "*") (pointer_declarator "**pppppcStack_174" (* "*") (pointer_declarator "*pppppcStack_174" (* "*") (identifier "pppppcStack_174")))))) (; ";")) (declaration "code *****pppppcStack_170;" (type_identifier "code") (pointer_declarator "*****pppppcStack_170" (* "*") (pointer_declarator "****pppppcStack_170" (* "*") (pointer_declarator "***pppppcStack_170" (* "*") (pointer_declarator "**pppppcStack_170" (* "*") (pointer_declarator "*pppppcStack_170" (* "*") (identifier "pppppcStack_170")))))) (; ";")) (declaration "code *****pppppcStack_16c;" (type_identifier "code") (pointer_declarator "*****pppppcStack_16c" (* "*") (pointer_declarator "****pppppcStack_16c" (* "*") (pointer_declarator "***pppppcStack_16c" (* "*") (pointer_declarator "**pppppcStack_16c" (* "*") (pointer_declarator "*pppppcStack_16c" (* "*") (identifier "pppppcStack_16c")))))) (; ";")) (declaration "code *****pppppcStack_168;" (type_identifier "code") (pointer_declarator "*****pppppcStack_168" (* "*") (pointer_declarator "****pppppcStack_168" (* "*") (pointer_declarator "***pppppcStack_168" (* "*") (pointer_declarator "**pppppcStack_168" (* "*") (pointer_declarator "*pppppcStack_168" (* "*") (identifier "pppppcStack_168")))))) (; ";")) (declaration "code *pcStack_164;" (type_identifier "code") (pointer_declarator "*pcStack_164" (* "*") (identifier "pcStack_164")) (; ";")) (declaration "undefined4 uStack_150;" (type_identifier "undefined4") (identifier "uStack_150") (; ";")) (declaration "code *pcStack_148;" (type_identifier "code") (pointer_declarator "*pcStack_148" (* "*") (identifier "pcStack_148")) (; ";")) (declaration "code *****pppppcStack_140;" (type_identifier "code") (pointer_declarator "*****pppppcStack_140" (* "*") (pointer_declarator "****pppppcStack_140" (* "*") (pointer_declarator "***pppppcStack_140" (* "*") (pointer_declarator "**pppppcStack_140" (* "*") (pointer_declarator "*pppppcStack_140" (* "*") (identifier "pppppcStack_140")))))) (; ";")) (declaration "code *pcStack_13c;" (type_identifier "code") (pointer_declarator "*pcStack_13c" (* "*") (identifier "pcStack_13c")) (; ";")) (declaration "int iStack_138;" (primitive_type "int") (identifier "iStack_138") (; ";")) (declaration "int iStack_134;" (primitive_type "int") (identifier "iStack_134") (; ";")) (declaration "code ****ppppcStack_12c;" (type_identifier "code") (pointer_declarator "****ppppcStack_12c" (* "*") (pointer_declarator "***ppppcStack_12c" (* "*") (pointer_declarator "**ppppcStack_12c" (* "*") (pointer_declarator "*ppppcStack_12c" (* "*") (identifier "ppppcStack_12c"))))) (; ";")) (declaration "undefined1 auStack_128 [4];" (type_identifier "undefined1") (array_declarator "auStack_128 [4]" (identifier "auStack_128") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "code ****ppppcStack_124;" (type_identifier "code") (pointer_declarator "****ppppcStack_124" (* "*") (pointer_declarator "***ppppcStack_124" (* "*") (pointer_declarator "**ppppcStack_124" (* "*") (pointer_declarator "*ppppcStack_124" (* "*") (identifier "ppppcStack_124"))))) (; ";")) (declaration "code *****pppppcStack_11c;" (type_identifier "code") (pointer_declarator "*****pppppcStack_11c" (* "*") (pointer_declarator "****pppppcStack_11c" (* "*") (pointer_declarator "***pppppcStack_11c" (* "*") (pointer_declarator "**pppppcStack_11c" (* "*") (pointer_declarator "*pppppcStack_11c" (* "*") (identifier "pppppcStack_11c")))))) (; ";")) (declaration "code *****pppppcStack_118;" (type_identifier "code") (pointer_declarator "*****pppppcStack_118" (* "*") (pointer_declarator "****pppppcStack_118" (* "*") (pointer_declarator "***pppppcStack_118" (* "*") (pointer_declarator "**pppppcStack_118" (* "*") (pointer_declarator "*pppppcStack_118" (* "*") (identifier "pppppcStack_118")))))) (; ";")) (declaration "code *****pppppcStack_114;" (type_identifier "code") (pointer_declarator "*****pppppcStack_114" (* "*") (pointer_declarator "****pppppcStack_114" (* "*") (pointer_declarator "***pppppcStack_114" (* "*") (pointer_declarator "**pppppcStack_114" (* "*") (pointer_declarator "*pppppcStack_114" (* "*") (identifier "pppppcStack_114")))))) (; ";")) (declaration "code *****pppppcStack_110;" (type_identifier "code") (pointer_declarator "*****pppppcStack_110" (* "*") (pointer_declarator "****pppppcStack_110" (* "*") (pointer_declarator "***pppppcStack_110" (* "*") (pointer_declarator "**pppppcStack_110" (* "*") (pointer_declarator "*pppppcStack_110" (* "*") (identifier "pppppcStack_110")))))) (; ";")) (declaration "code *****pppppcStack_10c;" (type_identifier "code") (pointer_declarator "*****pppppcStack_10c" (* "*") (pointer_declarator "****pppppcStack_10c" (* "*") (pointer_declarator "***pppppcStack_10c" (* "*") (pointer_declarator "**pppppcStack_10c" (* "*") (pointer_declarator "*pppppcStack_10c" (* "*") (identifier "pppppcStack_10c")))))) (; ";")) (declaration "code *****pppppcStack_108;" (type_identifier "code") (pointer_declarator "*****pppppcStack_108" (* "*") (pointer_declarator "****pppppcStack_108" (* "*") (pointer_declarator "***pppppcStack_108" (* "*") (pointer_declarator "**pppppcStack_108" (* "*") (pointer_declarator "*pppppcStack_108" (* "*") (identifier "pppppcStack_108")))))) (; ";")) (declaration "code *****pppppcStack_104;" (type_identifier "code") (pointer_declarator "*****pppppcStack_104" (* "*") (pointer_declarator "****pppppcStack_104" (* "*") (pointer_declarator "***pppppcStack_104" (* "*") (pointer_declarator "**pppppcStack_104" (* "*") (pointer_declarator "*pppppcStack_104" (* "*") (identifier "pppppcStack_104")))))) (; ";")) (declaration "int iStack_e0;" (primitive_type "int") (identifier "iStack_e0") (; ";")) (declaration "code *****pppppcStack_c8;" (type_identifier "code") (pointer_declarator "*****pppppcStack_c8" (* "*") (pointer_declarator "****pppppcStack_c8" (* "*") (pointer_declarator "***pppppcStack_c8" (* "*") (pointer_declarator "**pppppcStack_c8" (* "*") (pointer_declarator "*pppppcStack_c8" (* "*") (identifier "pppppcStack_c8")))))) (; ";")) (declaration "code *****pppppcStack_c4;" (type_identifier "code") (pointer_declarator "*****pppppcStack_c4" (* "*") (pointer_declarator "****pppppcStack_c4" (* "*") (pointer_declarator "***pppppcStack_c4" (* "*") (pointer_declarator "**pppppcStack_c4" (* "*") (pointer_declarator "*pppppcStack_c4" (* "*") (identifier "pppppcStack_c4")))))) (; ";")) (declaration "code ****ppppcStack_c0;" (type_identifier "code") (pointer_declarator "****ppppcStack_c0" (* "*") (pointer_declarator "***ppppcStack_c0" (* "*") (pointer_declarator "**ppppcStack_c0" (* "*") (pointer_declarator "*ppppcStack_c0" (* "*") (identifier "ppppcStack_c0"))))) (; ";")) (declaration "code *****pppppcStack_bc;" (type_identifier "code") (pointer_declarator "*****pppppcStack_bc" (* "*") (pointer_declarator "****pppppcStack_bc" (* "*") (pointer_declarator "***pppppcStack_bc" (* "*") (pointer_declarator "**pppppcStack_bc" (* "*") (pointer_declarator "*pppppcStack_bc" (* "*") (identifier "pppppcStack_bc")))))) (; ";")) (declaration "code *****pppppcStack_b8;" (type_identifier "code") (pointer_declarator "*****pppppcStack_b8" (* "*") (pointer_declarator "****pppppcStack_b8" (* "*") (pointer_declarator "***pppppcStack_b8" (* "*") (pointer_declarator "**pppppcStack_b8" (* "*") (pointer_declarator "*pppppcStack_b8" (* "*") (identifier "pppppcStack_b8")))))) (; ";")) (declaration "code *****pppppcStack_b4;" (type_identifier "code") (pointer_declarator "*****pppppcStack_b4" (* "*") (pointer_declarator "****pppppcStack_b4" (* "*") (pointer_declarator "***pppppcStack_b4" (* "*") (pointer_declarator "**pppppcStack_b4" (* "*") (pointer_declarator "*pppppcStack_b4" (* "*") (identifier "pppppcStack_b4")))))) (; ";")) (declaration "code *****pppppcStack_b0;" (type_identifier "code") (pointer_declarator "*****pppppcStack_b0" (* "*") (pointer_declarator "****pppppcStack_b0" (* "*") (pointer_declarator "***pppppcStack_b0" (* "*") (pointer_declarator "**pppppcStack_b0" (* "*") (pointer_declarator "*pppppcStack_b0" (* "*") (identifier "pppppcStack_b0")))))) (; ";")) (declaration "code *pcStack_ac;" (type_identifier "code") (pointer_declarator "*pcStack_ac" (* "*") (identifier "pcStack_ac")) (; ";")) (declaration "code *pcStack_98;" (type_identifier "code") (pointer_declarator "*pcStack_98" (* "*") (identifier "pcStack_98")) (; ";")) (declaration "code *****pppppcStack_90;" (type_identifier "code") (pointer_declarator "*****pppppcStack_90" (* "*") (pointer_declarator "****pppppcStack_90" (* "*") (pointer_declarator "***pppppcStack_90" (* "*") (pointer_declarator "**pppppcStack_90" (* "*") (pointer_declarator "*pppppcStack_90" (* "*") (identifier "pppppcStack_90")))))) (; ";")) (declaration "code *****pppppcStack_8c;" (type_identifier "code") (pointer_declarator "*****pppppcStack_8c" (* "*") (pointer_declarator "****pppppcStack_8c" (* "*") (pointer_declarator "***pppppcStack_8c" (* "*") (pointer_declarator "**pppppcStack_8c" (* "*") (pointer_declarator "*pppppcStack_8c" (* "*") (identifier "pppppcStack_8c")))))) (; ";")) (declaration "code *****pppppcStack_84;" (type_identifier "code") (pointer_declarator "*****pppppcStack_84" (* "*") (pointer_declarator "****pppppcStack_84" (* "*") (pointer_declarator "***pppppcStack_84" (* "*") (pointer_declarator "**pppppcStack_84" (* "*") (pointer_declarator "*pppppcStack_84" (* "*") (identifier "pppppcStack_84")))))) (; ";")) (declaration "uint *puStack_80;" (type_identifier "uint") (pointer_declarator "*puStack_80" (* "*") (identifier "puStack_80")) (; ";")) (declaration "code *****pppppcStack_7c;" (type_identifier "code") (pointer_declarator "*****pppppcStack_7c" (* "*") (pointer_declarator "****pppppcStack_7c" (* "*") (pointer_declarator "***pppppcStack_7c" (* "*") (pointer_declarator "**pppppcStack_7c" (* "*") (pointer_declarator "*pppppcStack_7c" (* "*") (identifier "pppppcStack_7c")))))) (; ";")) (declaration "code *****pppppcStack_78;" (type_identifier "code") (pointer_declarator "*****pppppcStack_78" (* "*") (pointer_declarator "****pppppcStack_78" (* "*") (pointer_declarator "***pppppcStack_78" (* "*") (pointer_declarator "**pppppcStack_78" (* "*") (pointer_declarator "*pppppcStack_78" (* "*") (identifier "pppppcStack_78")))))) (; ";")) (declaration "code *****pppppcStack_50;" (type_identifier "code") (pointer_declarator "*****pppppcStack_50" (* "*") (pointer_declarator "****pppppcStack_50" (* "*") (pointer_declarator "***pppppcStack_50" (* "*") (pointer_declarator "**pppppcStack_50" (* "*") (pointer_declarator "*pppppcStack_50" (* "*") (identifier "pppppcStack_50")))))) (; ";")) (declaration "code ****ppppcStack_4c;" (type_identifier "code") (pointer_declarator "****ppppcStack_4c" (* "*") (pointer_declarator "***ppppcStack_4c" (* "*") (pointer_declarator "**ppppcStack_4c" (* "*") (pointer_declarator "*ppppcStack_4c" (* "*") (identifier "ppppcStack_4c"))))) (; ";")) (declaration "undefined *puStack_44;" (type_identifier "undefined") (pointer_declarator "*puStack_44" (* "*") (identifier "puStack_44")) (; ";")) (declaration "int *piStack_40;" (primitive_type "int") (pointer_declarator "*piStack_40" (* "*") (identifier "piStack_40")) (; ";")) (declaration "code *****local_18;" (type_identifier "code") (pointer_declarator "*****local_18" (* "*") (pointer_declarator "****local_18" (* "*") (pointer_declarator "***local_18" (* "*") (pointer_declarator "**local_18" (* "*") (pointer_declarator "*local_18" (* "*") (identifier "local_18")))))) (; ";")) (declaration "code *****local_14;" (type_identifier "code") (pointer_declarator "*****local_14" (* "*") (pointer_declarator "****local_14" (* "*") (pointer_declarator "***local_14" (* "*") (pointer_declarator "**local_14" (* "*") (pointer_declarator "*local_14" (* "*") (identifier "local_14")))))) (; ";")) (expression_statement "puVar3 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar3 = PTR___stack_chk_guard_0015ba2c" (identifier "puVar3") (= "=") (identifier "PTR___stack_chk_guard_0015ba2c")) (; ";")) (expression_statement "ppppppcVar21 = &local_18;" (assignment_expression "ppppppcVar21 = &local_18" (identifier "ppppppcVar21") (= "=") (pointer_expression "&local_18" (& "&") (identifier "local_18"))) (; ";")) (expression_statement "local_14 = *(code ******)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_14 = *(code ******)PTR___stack_chk_guard_0015ba2c" (identifier "local_14") (= "=") (pointer_expression "*(code ******)PTR___stack_chk_guard_0015ba2c" (* "*") (cast_expression "(code ******)PTR___stack_chk_guard_0015ba2c" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "PTR___stack_chk_guard_0015ba2c")))) (; ";")) (expression_statement "iVar4 = FUN_000f7f20();" (assignment_expression "iVar4 = FUN_000f7f20()" (identifier "iVar4") (= "=") (call_expression "FUN_000f7f20()" (identifier "FUN_000f7f20") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n    (*(code *)PTR_sqlite3_step_0015b630)(local_18);\n    iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    param_2 = (code ******)local_18;\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_sqlite3_step_0015b630)(local_18);\n    iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();\n    param_2 = (code ******)local_18;\n  }" ({ "{") (expression_statement "(*(code *)PTR_sqlite3_step_0015b630)(local_18);" (call_expression "(*(code *)PTR_sqlite3_step_0015b630)(local_18)" (parenthesized_expression "(*(code *)PTR_sqlite3_step_0015b630)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_step_0015b630" (* "*") (cast_expression "(code *)PTR_sqlite3_step_0015b630" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_step_0015b630"))) () ")")) (argument_list "(local_18)" (( "(") (identifier "local_18") () ")"))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();" (assignment_expression "iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)()" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_sqlite3_reset_0015b648)()" (parenthesized_expression "(*(code *)PTR_sqlite3_reset_0015b648)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_reset_0015b648" (* "*") (cast_expression "(code *)PTR_sqlite3_reset_0015b648" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_reset_0015b648"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "param_2 = (code ******)local_18;" (assignment_expression "param_2 = (code ******)local_18" (identifier "param_2") (= "=") (cast_expression "(code ******)local_18" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_18"))) (; ";")) (} "}"))) (expression_statement "*param_1 = iVar4;" (assignment_expression "*param_1 = iVar4" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "ppppppcVar5 = *(code *******)puVar3;" (assignment_expression "ppppppcVar5 = *(code *******)puVar3" (identifier "ppppppcVar5") (= "=") (pointer_expression "*(code *******)puVar3" (* "*") (cast_expression "(code *******)puVar3" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "puVar3")))) (; ";")) (if_statement "if ((code ******)local_14 == ppppppcVar5) {\n    return ppppppcVar5;\n  }" (if "if") (parenthesized_expression "((code ******)local_14 == ppppppcVar5)" (( "(") (binary_expression "(code ******)local_14 == ppppppcVar5" (cast_expression "(code ******)local_14" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_14")) (== "==") (identifier "ppppppcVar5")) () ")")) (compound_statement "{\n    return ppppppcVar5;\n  }" ({ "{") (return_statement "return ppppppcVar5;" (return "return") (identifier "ppppppcVar5") (; ";")) (} "}"))) (expression_statement "puVar39 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar39 = PTR___stack_chk_fail_0015ba10" (identifier "puVar39") (= "=") (identifier "PTR___stack_chk_fail_0015ba10")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0015ba10"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_44 = puVar3;" (assignment_expression "puStack_44 = puVar3" (identifier "puStack_44") (= "=") (identifier "puVar3")) (; ";")) (expression_statement "puVar30 = *(uint **)(puVar39 + 0x549c8);" (assignment_expression "puVar30 = *(uint **)(puVar39 + 0x549c8)" (identifier "puVar30") (= "=") (pointer_expression "*(uint **)(puVar39 + 0x549c8)" (* "*") (cast_expression "(uint **)(puVar39 + 0x549c8)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar39 + 0x549c8)" (( "(") (binary_expression "puVar39 + 0x549c8" (identifier "puVar39") (+ "+") (number_literal "0x549c8")) () ")"))))) (; ";")) (expression_statement "pppppcStack_50 = (code *****)0x0;" (assignment_expression "pppppcStack_50 = (code *****)0x0" (identifier "pppppcStack_50") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppcStack_4c = (code ****)*puVar30;" (assignment_expression "ppppcStack_4c = (code ****)*puVar30" (identifier "ppppcStack_4c") (= "=") (cast_expression "(code ****)*puVar30" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "*puVar30" (* "*") (identifier "puVar30")))) (; ";")) (expression_statement "ppppppcVar5 = param_3;" (assignment_expression "ppppppcVar5 = param_3" (identifier "ppppppcVar5") (= "=") (identifier "param_3")) (; ";")) (expression_statement "piStack_40 = param_1;" (assignment_expression "piStack_40 = param_1" (identifier "piStack_40") (= "=") (identifier "param_1")) (; ";")) (expression_statement "(*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))();" (call_expression "(*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))()" (parenthesized_expression "(*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4)" (* "*") (cast_expression "(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar39 + 0x54674) + -0x38a4)" (( "(") (binary_expression "*(int *)(puVar39 + 0x54674) + -0x38a4" (pointer_expression "*(int *)(puVar39 + 0x54674)" (* "*") (cast_expression "(int *)(puVar39 + 0x54674)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar39 + 0x54674)" (( "(") (binary_expression "puVar39 + 0x54674" (identifier "puVar39") (+ "+") (number_literal "0x54674")) () ")")))) (+ "+") (number_literal "-0x38a4")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (param_3 == (code ******)0x0) {\nLAB_00107118:\n    param_3 = *(code *******)(puVar39 + 0x5466c);\n    if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;\n    unaff_s3 = &pppppcStack_50;\n    param_4 = (code ******)0x0;\n    ppppppcVar21 = (code ******)0x3;\n    param_3 = param_3 + 0x1bee;\n    ppppppcVar5 = param_2;\n    FUN_00106fb8(unaff_s3);\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }\n  }\n  else {\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }\n  }" (if "if") (parenthesized_expression "(param_3 == (code ******)0x0)" (( "(") (binary_expression "param_3 == (code ******)0x0" (identifier "param_3") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00107118:\n    param_3 = *(code *******)(puVar39 + 0x5466c);\n    if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;\n    unaff_s3 = &pppppcStack_50;\n    param_4 = (code ******)0x0;\n    ppppppcVar21 = (code ******)0x3;\n    param_3 = param_3 + 0x1bee;\n    ppppppcVar5 = param_2;\n    FUN_00106fb8(unaff_s3);\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }\n  }" ({ "{") (labeled_statement "LAB_00107118:\n    param_3 = *(code *******)(puVar39 + 0x5466c);" (statement_identifier "LAB_00107118") (: ":") (expression_statement "param_3 = *(code *******)(puVar39 + 0x5466c);" (assignment_expression "param_3 = *(code *******)(puVar39 + 0x5466c)" (identifier "param_3") (= "=") (pointer_expression "*(code *******)(puVar39 + 0x5466c)" (* "*") (cast_expression "(code *******)(puVar39 + 0x5466c)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar39 + 0x5466c)" (( "(") (binary_expression "puVar39 + 0x5466c" (identifier "puVar39") (+ "+") (number_literal "0x5466c")) () ")"))))) (; ";"))) (if_statement "if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;" (if "if") (parenthesized_expression "((code ******)pppppcStack_50 != (code ******)0x0)" (( "(") (binary_expression "(code ******)pppppcStack_50 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_50" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_50")) (!= "!=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001070c8;" (goto "goto") (statement_identifier "LAB_001070c8") (; ";"))) (expression_statement "unaff_s3 = &pppppcStack_50;" (assignment_expression "unaff_s3 = &pppppcStack_50" (identifier "unaff_s3") (= "=") (pointer_expression "&pppppcStack_50" (& "&") (identifier "pppppcStack_50"))) (; ";")) (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" (identifier "param_4") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar21 = (code ******)0x3;" (assignment_expression "ppppppcVar21 = (code ******)0x3" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)0x3" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x3"))) (; ";")) (expression_statement "param_3 = param_3 + 0x1bee;" (assignment_expression "param_3 = param_3 + 0x1bee" (identifier "param_3") (= "=") (binary_expression "param_3 + 0x1bee" (identifier "param_3") (+ "+") (number_literal "0x1bee"))) (; ";")) (expression_statement "ppppppcVar5 = param_2;" (assignment_expression "ppppppcVar5 = param_2" (identifier "ppppppcVar5") (= "=") (identifier "param_2")) (; ";")) (expression_statement "FUN_00106fb8(unaff_s3);" (call_expression "FUN_00106fb8(unaff_s3)" (identifier "FUN_00106fb8") (argument_list "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")"))) (; ";")) (if_statement "if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }" (if "if") (parenthesized_expression "((code ******)pppppcStack_50 == (code ******)0x0)" (( "(") (binary_expression "(code ******)pppppcStack_50 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_50" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_50")) (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&DAT_00000004;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(unaff_s3);\n      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }\n      goto LAB_0010719c;\n    }" ({ "{") (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" (identifier "param_4") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar21 = (code ******)&DAT_00000004;" (assignment_expression "ppppppcVar21 = (code ******)&DAT_00000004" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)&DAT_00000004" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000004" (& "&") (identifier "DAT_00000004")))) (; ";")) (expression_statement "ppppppcVar5 = param_2;" (assignment_expression "ppppppcVar5 = param_2" (identifier "ppppppcVar5") (= "=") (identifier "param_2")) (; ";")) (expression_statement "FUN_00106fb8(unaff_s3);" (call_expression "FUN_00106fb8(unaff_s3)" (identifier "FUN_00106fb8") (argument_list "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")"))) (; ";")) (if_statement "if (*(code *)((int)param_2 + 0xea) != (code)0x0) {\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }" (if "if") (parenthesized_expression "(*(code *)((int)param_2 + 0xea) != (code)0x0)" (( "(") (binary_expression "*(code *)((int)param_2 + 0xea) != (code)0x0" (pointer_expression "*(code *)((int)param_2 + 0xea)" (* "*") (cast_expression "(code *)((int)param_2 + 0xea)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0xea)" (( "(") (binary_expression "(int)param_2 + 0xea" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0xea")) () ")")))) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        param_4 = (code ******)0x0;\n        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;\n        ppppppcVar21 = (code ******)&DAT_00000005;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(unaff_s3);\n      }" ({ "{") (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" (identifier "param_4") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;" (if "if") (parenthesized_expression "((code ******)pppppcStack_50 != (code ******)0x0)" (( "(") (binary_expression "(code ******)pppppcStack_50 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_50" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_50")) (!= "!=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001070d4;" (goto "goto") (statement_identifier "LAB_001070d4") (; ";"))) (expression_statement "ppppppcVar21 = (code ******)&DAT_00000005;" (assignment_expression "ppppppcVar21 = (code ******)&DAT_00000005" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)&DAT_00000005" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000005" (& "&") (identifier "DAT_00000005")))) (; ";")) (expression_statement "ppppppcVar5 = param_2;" (assignment_expression "ppppppcVar5 = param_2" (identifier "ppppppcVar5") (= "=") (identifier "param_2")) (; ";")) (expression_statement "FUN_00106fb8(unaff_s3);" (call_expression "FUN_00106fb8(unaff_s3)" (identifier "FUN_00106fb8") (argument_list "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0010719c;" (goto "goto") (statement_identifier "LAB_0010719c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }\n  }" (else "else") (compound_statement "{\n    if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }\nLAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }\n  }" ({ "{") (if_statement "if ((code ******)pppppcStack_50 == (code ******)0x0) {\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }" (if "if") (parenthesized_expression "((code ******)pppppcStack_50 == (code ******)0x0)" (( "(") (binary_expression "(code ******)pppppcStack_50 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_50" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_50")) (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      param_4 = (code ******)0x0;\n      ppppppcVar21 = (code ******)&SUB_00000002;\n      ppppppcVar5 = param_2;\n      FUN_00106fb8(&pppppcStack_50);\n      goto LAB_00107118;\n    }" ({ "{") (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" (identifier "param_4") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar21 = (code ******)&SUB_00000002;" (assignment_expression "ppppppcVar21 = (code ******)&SUB_00000002" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)&SUB_00000002" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&SUB_00000002" (& "&") (identifier "SUB_00000002")))) (; ";")) (expression_statement "ppppppcVar5 = param_2;" (assignment_expression "ppppppcVar5 = param_2" (identifier "ppppppcVar5") (= "=") (identifier "param_2")) (; ";")) (expression_statement "FUN_00106fb8(&pppppcStack_50);" (call_expression "FUN_00106fb8(&pppppcStack_50)" (identifier "FUN_00106fb8") (argument_list "(&pppppcStack_50)" (( "(") (pointer_expression "&pppppcStack_50" (& "&") (identifier "pppppcStack_50")) () ")"))) (; ";")) (goto_statement "goto LAB_00107118;" (goto "goto") (statement_identifier "LAB_00107118") (; ";")) (} "}"))) (labeled_statement "LAB_001070c8:\n    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }" (statement_identifier "LAB_001070c8") (: ":") (if_statement "if (*(code *)((int)param_2 + 0xea) == (code)0x0) {\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }" (if "if") (parenthesized_expression "(*(code *)((int)param_2 + 0xea) == (code)0x0)" (( "(") (binary_expression "*(code *)((int)param_2 + 0xea) == (code)0x0" (pointer_expression "*(code *)((int)param_2 + 0xea)" (* "*") (cast_expression "(code *)((int)param_2 + 0xea)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0xea)" (( "(") (binary_expression "(int)param_2 + 0xea" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0xea")) () ")")))) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }\n    }" ({ "{") (labeled_statement "LAB_0010719c:\n      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }" (statement_identifier "LAB_0010719c") (: ":") (if_statement "if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)) {\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }" (if "if") (parenthesized_expression "((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0))" (( "(") (binary_expression "(*(code *)((int)param_2 + 0xe9) != (code)0x0) &&\n         ((code ******)pppppcStack_50 == (code ******)0x0)" (parenthesized_expression "(*(code *)((int)param_2 + 0xe9) != (code)0x0)" (( "(") (binary_expression "*(code *)((int)param_2 + 0xe9) != (code)0x0" (pointer_expression "*(code *)((int)param_2 + 0xe9)" (* "*") (cast_expression "(code *)((int)param_2 + 0xe9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0xe9)" (( "(") (binary_expression "(int)param_2 + 0xe9" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0xe9")) () ")")))) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((code ******)pppppcStack_50 == (code ******)0x0)" (( "(") (binary_expression "(code ******)pppppcStack_50 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_50" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_50")) (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n        param_4 = (code ******)0x0;\n        ppppppcVar21 = (code ******)&DAT_00000006;\n        ppppppcVar5 = param_2;\n        FUN_00106fb8(&pppppcStack_50);\n      }" ({ "{") (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" (identifier "param_4") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar21 = (code ******)&DAT_00000006;" (assignment_expression "ppppppcVar21 = (code ******)&DAT_00000006" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)&DAT_00000006" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000006" (& "&") (identifier "DAT_00000006")))) (; ";")) (expression_statement "ppppppcVar5 = param_2;" (assignment_expression "ppppppcVar5 = param_2" (identifier "ppppppcVar5") (= "=") (identifier "param_2")) (; ";")) (expression_statement "FUN_00106fb8(&pppppcStack_50);" (call_expression "FUN_00106fb8(&pppppcStack_50)" (identifier "FUN_00106fb8") (argument_list "(&pppppcStack_50)" (( "(") (pointer_expression "&pppppcStack_50" (& "&") (identifier "pppppcStack_50")) () ")"))) (; ";")) (} "}")))) (} "}")))) (} "}")))) (labeled_statement "LAB_001070d4:\n  if ((code *****)ppppcStack_4c == (code *****)*puVar30) {\n    return (code ******)pppppcStack_50;\n  }" (statement_identifier "LAB_001070d4") (: ":") (if_statement "if ((code *****)ppppcStack_4c == (code *****)*puVar30) {\n    return (code ******)pppppcStack_50;\n  }" (if "if") (parenthesized_expression "((code *****)ppppcStack_4c == (code *****)*puVar30)" (( "(") (binary_expression "(code *****)ppppcStack_4c == (code *****)*puVar30" (cast_expression "(code *****)ppppcStack_4c" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppcStack_4c")) (== "==") (cast_expression "(code *****)*puVar30" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "*puVar30" (* "*") (identifier "puVar30")))) () ")")) (compound_statement "{\n    return (code ******)pppppcStack_50;\n  }" ({ "{") (return_statement "return (code ******)pppppcStack_50;" (return "return") (cast_expression "(code ******)pppppcStack_50" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_50")) (; ";")) (} "}")))) (expression_statement "pcVar40 = *(code **)(puVar39 + 0x549ac);" (assignment_expression "pcVar40 = *(code **)(puVar39 + 0x549ac)" (identifier "pcVar40") (= "=") (pointer_expression "*(code **)(puVar39 + 0x549ac)" (* "*") (cast_expression "(code **)(puVar39 + 0x549ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar39 + 0x549ac)" (( "(") (binary_expression "puVar39 + 0x549ac" (identifier "puVar39") (+ "+") (number_literal "0x549ac")) () ")"))))) (; ";")) (expression_statement "pppppcVar25 = (code *****)ppppcStack_4c;" (assignment_expression "pppppcVar25 = (code *****)ppppcStack_4c" (identifier "pppppcVar25") (= "=") (cast_expression "(code *****)ppppcStack_4c" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppcStack_4c"))) (; ";")) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_98 = pcVar40 + 0x5c3d0;" (assignment_expression "pcStack_98 = pcVar40 + 0x5c3d0" (identifier "pcStack_98") (= "=") (binary_expression "pcVar40 + 0x5c3d0" (identifier "pcVar40") (+ "+") (number_literal "0x5c3d0"))) (; ";")) (expression_statement "ppppppcVar31 = *(code *******)(pcVar40 + 0x5484c);" (assignment_expression "ppppppcVar31 = *(code *******)(pcVar40 + 0x5484c)" (identifier "ppppppcVar31") (= "=") (pointer_expression "*(code *******)(pcVar40 + 0x5484c)" (* "*") (cast_expression "(code *******)(pcVar40 + 0x5484c)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(pcVar40 + 0x5484c)" (( "(") (binary_expression "pcVar40 + 0x5484c" (identifier "pcVar40") (+ "+") (number_literal "0x5484c")) () ")"))))) (; ";")) (expression_statement "pppppcStack_8c = *ppppppcVar31;" (assignment_expression "pppppcStack_8c = *ppppppcVar31" (identifier "pppppcStack_8c") (= "=") (pointer_expression "*ppppppcVar31" (* "*") (identifier "ppppppcVar31"))) (; ";")) (expression_statement "pppppcStack_84 = (code *****)param_2;" (assignment_expression "pppppcStack_84 = (code *****)param_2" (identifier "pppppcStack_84") (= "=") (cast_expression "(code *****)param_2" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "param_2"))) (; ";")) (expression_statement "puStack_80 = puVar30;" (assignment_expression "puStack_80 = puVar30" (identifier "puStack_80") (= "=") (identifier "puVar30")) (; ";")) (expression_statement "pppppcStack_7c = (code *****)param_3;" (assignment_expression "pppppcStack_7c = (code *****)param_3" (identifier "pppppcStack_7c") (= "=") (cast_expression "(code *****)param_3" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "param_3"))) (; ";")) (expression_statement "pppppcStack_78 = (code *****)unaff_s3;" (assignment_expression "pppppcStack_78 = (code *****)unaff_s3" (identifier "pppppcStack_78") (= "=") (cast_expression "(code *****)unaff_s3" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s3"))) (; ";")) (if_statement "if (pppppcVar25[10] == (code ****)0x0) {\n    param_4 = ppppppcVar5 + 1;\n    ppppppcVar38 = &pppppcStack_90;\n    ppppppcVar17 = (code ******)0x12;\n    ppppppcVar33 = (code ******)FUN_000f7f20();\n    pppppcVar29 = pppppcStack_90;\n    if (ppppppcVar33 == (code ******)0x0) {\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];\n    ppppppcVar17 = ppppppcVar5;\n    ppppppcVar38 = ppppppcVar21;\n    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);\n    if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }\n  }" (if "if") (parenthesized_expression "(pppppcVar25[10] == (code ****)0x0)" (( "(") (binary_expression "pppppcVar25[10] == (code ****)0x0" (subscript_expression "pppppcVar25[10]" (identifier "pppppcVar25") ([ "[") (number_literal "10") (] "]")) (== "==") (cast_expression "(code ****)0x0" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    param_4 = ppppppcVar5 + 1;\n    ppppppcVar38 = &pppppcStack_90;\n    ppppppcVar17 = (code ******)0x12;\n    ppppppcVar33 = (code ******)FUN_000f7f20();\n    pppppcVar29 = pppppcStack_90;\n    if (ppppppcVar33 == (code ******)0x0) {\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "param_4 = ppppppcVar5 + 1;" (assignment_expression "param_4 = ppppppcVar5 + 1" (identifier "param_4") (= "=") (binary_expression "ppppppcVar5 + 1" (identifier "ppppppcVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppppppcVar38 = &pppppcStack_90;" (assignment_expression "ppppppcVar38 = &pppppcStack_90" (identifier "ppppppcVar38") (= "=") (pointer_expression "&pppppcStack_90" (& "&") (identifier "pppppcStack_90"))) (; ";")) (expression_statement "ppppppcVar17 = (code ******)0x12;" (assignment_expression "ppppppcVar17 = (code ******)0x12" (identifier "ppppppcVar17") (= "=") (cast_expression "(code ******)0x12" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x12"))) (; ";")) (expression_statement "ppppppcVar33 = (code ******)FUN_000f7f20();" (assignment_expression "ppppppcVar33 = (code ******)FUN_000f7f20()" (identifier "ppppppcVar33") (= "=") (cast_expression "(code ******)FUN_000f7f20()" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000f7f20()" (identifier "FUN_000f7f20") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "pppppcVar29 = pppppcStack_90;" (assignment_expression "pppppcVar29 = pppppcStack_90" (identifier "pppppcVar29") (= "=") (identifier "pppppcStack_90")) (; ";")) (if_statement "if (ppppppcVar33 == (code ******)0x0) {\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(ppppppcVar33 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar33 == (code ******)0x0" (identifier "ppppppcVar33") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      ppppcVar34 = pppppcVar25[6];\n      if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);\n      if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }\n    }" ({ "{") (expression_statement "ppppcVar34 = pppppcVar25[6];" (assignment_expression "ppppcVar34 = pppppcVar25[6]" (identifier "ppppcVar34") (= "=") (subscript_expression "pppppcVar25[6]" (identifier "pppppcVar25") ([ "[") (number_literal "6") (] "]"))) (; ";")) (if_statement "if (pppppcVar25[0xb] != (code ****)0x0) {\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }" (if "if") (parenthesized_expression "(pppppcVar25[0xb] != (code ****)0x0)" (( "(") (binary_expression "pppppcVar25[0xb] != (code ****)0x0" (subscript_expression "pppppcVar25[0xb]" (identifier "pppppcVar25") ([ "[") (number_literal "0xb") (] "]")) (!= "!=") (cast_expression "(code ****)0x0" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);\n        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);\n        unaff_s5 = (code ******)pppppcVar29;\n        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;\n        ppppcVar34 = pppppcVar25[6];\n      }" ({ "{") (expression_statement "ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);" (assignment_expression "ppppppcVar38 = (code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)])" (identifier "ppppppcVar38") (= "=") (cast_expression "(code ******)\n                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)])" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)])" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7e7c))" (( "(") (pointer_expression "**(code **)(pcStack_98 + -0x7e7c)" (* "*") (pointer_expression "*(code **)(pcStack_98 + -0x7e7c)" (* "*") (cast_expression "(code **)(pcStack_98 + -0x7e7c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_98 + -0x7e7c)" (( "(") (binary_expression "pcStack_98 + -0x7e7c" (identifier "pcStack_98") (+ "+") (number_literal "-0x7e7c")) () ")"))))) () ")")) (argument_list "(ppppppcVar5[(int)(ppppcVar34 + 1)])" (( "(") (subscript_expression "ppppppcVar5[(int)(ppppcVar34 + 1)]" (identifier "ppppppcVar5") ([ "[") (cast_expression "(int)(ppppcVar34 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(ppppcVar34 + 1)" (( "(") (binary_expression "ppppcVar34 + 1" (identifier "ppppcVar34") (+ "+") (number_literal "1")) () ")"))) (] "]")) () ")"))))) (; ";")) (expression_statement "ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);" (assignment_expression "ppppppcVar17 = (code ******)((int)ppppcVar34 + 2)" (identifier "ppppppcVar17") (= "=") (cast_expression "(code ******)((int)ppppcVar34 + 2)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppcVar34 + 2)" (( "(") (binary_expression "(int)ppppcVar34 + 2" (cast_expression "(int)ppppcVar34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar34")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);" (assignment_expression "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29)" (identifier "ppppppcVar33") (= "=") (cast_expression "(code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7d0c))" (( "(") (pointer_expression "**(code **)(pcStack_98 + -0x7d0c)" (* "*") (pointer_expression "*(code **)(pcStack_98 + -0x7d0c)" (* "*") (cast_expression "(code **)(pcStack_98 + -0x7d0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_98 + -0x7d0c)" (( "(") (binary_expression "pcStack_98 + -0x7d0c" (identifier "pcStack_98") (+ "+") (number_literal "-0x7d0c")) () ")"))))) () ")")) (argument_list "(pppppcVar29)" (( "(") (identifier "pppppcVar29") () ")"))))) (; ";")) (expression_statement "unaff_s5 = (code ******)pppppcVar29;" (assignment_expression "unaff_s5 = (code ******)pppppcVar29" (identifier "unaff_s5") (= "=") (cast_expression "(code ******)pppppcVar29" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcVar29"))) (; ";")) (if_statement "if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;" (if "if") (parenthesized_expression "(ppppppcVar33 != (code ******)0x0)" (( "(") (binary_expression "ppppppcVar33 != (code ******)0x0" (identifier "ppppppcVar33") (!= "!=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00107278;" (goto "goto") (statement_identifier "LAB_00107278") (; ";"))) (expression_statement "ppppcVar34 = pppppcVar25[6];" (assignment_expression "ppppcVar34 = pppppcVar25[6]" (identifier "ppppcVar34") (= "=") (subscript_expression "pppppcVar25[6]" (identifier "pppppcVar25") ([ "[") (number_literal "6") (] "]"))) (; ";")) (} "}"))) (expression_statement "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);" (assignment_expression "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3])" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3])" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fb8))" (( "(") (pointer_expression "**(code **)(pcStack_98 + -0x7fb8)" (* "*") (pointer_expression "*(code **)(pcStack_98 + -0x7fb8)" (* "*") (cast_expression "(code **)(pcStack_98 + -0x7fb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_98 + -0x7fb8)" (( "(") (binary_expression "pcStack_98 + -0x7fb8" (identifier "pcStack_98") (+ "+") (number_literal "-0x7fb8")) () ")"))))) () ")")) (argument_list "(ppppppcVar5[(int)ppppcVar34 + 3])" (( "(") (subscript_expression "ppppppcVar5[(int)ppppcVar34 + 3]" (identifier "ppppppcVar5") ([ "[") (binary_expression "(int)ppppcVar34 + 3" (cast_expression "(int)ppppcVar34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar34")) (+ "+") (number_literal "3")) (] "]")) () ")")))) (; ";")) (if_statement "if (iVar4 == 5) {\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }\n      else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }" (if "if") (parenthesized_expression "(iVar4 == 5)" (( "(") (binary_expression "iVar4 == 5" (identifier "iVar4") (== "==") (number_literal "5")) () ")")) (compound_statement "{\nLAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);\n        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);\n        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);\n        *(undefined8 *)ppppppcVar21 = uVar44;\n      }" ({ "{") (labeled_statement "LAB_001073c8:\n        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);" (statement_identifier "LAB_001073c8") (: ":") (expression_statement "(**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);" (call_expression "(**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7f80))" (( "(") (pointer_expression "**(code **)(pcStack_98 + -0x7f80)" (* "*") (pointer_expression "*(code **)(pcStack_98 + -0x7f80)" (* "*") (cast_expression "(code **)(pcStack_98 + -0x7f80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_98 + -0x7f80)" (( "(") (binary_expression "pcStack_98 + -0x7f80" (identifier "pcStack_98") (+ "+") (number_literal "-0x7f80")) () ")"))))) () ")")) (argument_list "(pppppcStack_90)" (( "(") (identifier "pppppcStack_90") () ")"))) (; ";"))) (expression_statement "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);" (assignment_expression "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90)" (identifier "ppppppcVar33") (= "=") (cast_expression "(code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7f68))" (( "(") (pointer_expression "**(code **)(pcStack_98 + -0x7f68)" (* "*") (pointer_expression "*(code **)(pcStack_98 + -0x7f68)" (* "*") (cast_expression "(code **)(pcStack_98 + -0x7f68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_98 + -0x7f68)" (( "(") (binary_expression "pcStack_98 + -0x7f68" (identifier "pcStack_98") (+ "+") (number_literal "-0x7f68")) () ")"))))) () ")")) (argument_list "(pppppcStack_90)" (( "(") (identifier "pppppcStack_90") () ")"))))) (; ";")) (expression_statement "uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);" (assignment_expression "uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3])" (identifier "uVar44") (= "=") (call_expression "(**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3])" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7ec0))" (( "(") (pointer_expression "**(code **)(pcStack_98 + -0x7ec0)" (* "*") (pointer_expression "*(code **)(pcStack_98 + -0x7ec0)" (* "*") (cast_expression "(code **)(pcStack_98 + -0x7ec0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_98 + -0x7ec0)" (( "(") (binary_expression "pcStack_98 + -0x7ec0" (identifier "pcStack_98") (+ "+") (number_literal "-0x7ec0")) () ")"))))) () ")")) (argument_list "(pppppcVar25[3])" (( "(") (subscript_expression "pppppcVar25[3]" (identifier "pppppcVar25") ([ "[") (number_literal "3") (] "]")) () ")")))) (; ";")) (expression_statement "*(undefined8 *)ppppppcVar21 = uVar44;" (assignment_expression "*(undefined8 *)ppppppcVar21 = uVar44" (pointer_expression "*(undefined8 *)ppppppcVar21" (* "*") (cast_expression "(undefined8 *)ppppppcVar21" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppcVar21"))) (= "=") (identifier "uVar44")) (; ";")) (} "}")) (else_clause "else {\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }" (else "else") (compound_statement "{\n        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);\n        if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }\n      }" ({ "{") (expression_statement "unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);" (assignment_expression "unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5)" (identifier "unaff_s5") (= "=") (cast_expression "(code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fb8))" (( "(") (pointer_expression "**(code **)(pcStack_98 + -0x7fb8)" (* "*") (pointer_expression "*(code **)(pcStack_98 + -0x7fb8)" (* "*") (cast_expression "(code **)(pcStack_98 + -0x7fb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_98 + -0x7fb8)" (( "(") (binary_expression "pcStack_98 + -0x7fb8" (identifier "pcStack_98") (+ "+") (number_literal "-0x7fb8")) () ")"))))) () ")")) (argument_list "(*ppppppcVar5)" (( "(") (pointer_expression "*ppppppcVar5" (* "*") (identifier "ppppppcVar5")) () ")"))))) (; ";")) (if_statement "if ((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {\n          ppppppcVar33 = (code ******)0x1;\n        }\n        else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }" (if "if") (parenthesized_expression "((unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5))" (( "(") (binary_expression "(unaff_s5 == (code ******)&DAT_00000005) &&\n           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)" (parenthesized_expression "(unaff_s5 == (code ******)&DAT_00000005)" (( "(") (binary_expression "unaff_s5 == (code ******)&DAT_00000005" (identifier "unaff_s5") (== "==") (cast_expression "(code ******)&DAT_00000005" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000005" (& "&") (identifier "DAT_00000005")))) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)" (( "(") (comma_expression "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5" (assignment_expression "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1])" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1])" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fb8))" (( "(") (pointer_expression "**(code **)(pcStack_98 + -0x7fb8)" (* "*") (pointer_expression "*(code **)(pcStack_98 + -0x7fb8)" (* "*") (cast_expression "(code **)(pcStack_98 + -0x7fb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_98 + -0x7fb8)" (( "(") (binary_expression "pcStack_98 + -0x7fb8" (identifier "pcStack_98") (+ "+") (number_literal "-0x7fb8")) () ")"))))) () ")")) (argument_list "(ppppppcVar5[1])" (( "(") (subscript_expression "ppppppcVar5[1]" (identifier "ppppppcVar5") ([ "[") (number_literal "1") (] "]")) () ")")))) (, ",") (binary_expression "iVar4 != 5" (identifier "iVar4") (!= "!=") (number_literal "5"))) () ")"))) () ")")) (compound_statement "{\n          ppppppcVar33 = (code ******)0x1;\n        }" ({ "{") (expression_statement "ppppppcVar33 = (code ******)0x1;" (assignment_expression "ppppppcVar33 = (code ******)0x1" (identifier "ppppppcVar33") (= "=") (cast_expression "(code ******)0x1" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else {\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }" (else "else") (compound_statement "{\n          ppppppcVar17 = (code ******)0x1;\n          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;\n          ppppppcVar38 = (code ******)*ppppppcVar5;\n          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);\n          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;\n        }" ({ "{") (expression_statement "ppppppcVar17 = (code ******)0x1;" (assignment_expression "ppppppcVar17 = (code ******)0x1" (identifier "ppppppcVar17") (= "=") (cast_expression "(code ******)0x1" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;" (assignment_expression "ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3" (identifier "ppppppcVar5") (= "=") (binary_expression "ppppppcVar5 + (int)pppppcVar25[6] + 3" (binary_expression "ppppppcVar5 + (int)pppppcVar25[6]" (identifier "ppppppcVar5") (+ "+") (cast_expression "(int)pppppcVar25[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppcVar25[6]" (identifier "pppppcVar25") ([ "[") (number_literal "6") (] "]")))) (+ "+") (number_literal "3"))) (; ";")) (expression_statement "ppppppcVar38 = (code ******)*ppppppcVar5;" (assignment_expression "ppppppcVar38 = (code ******)*ppppppcVar5" (identifier "ppppppcVar38") (= "=") (cast_expression "(code ******)*ppppppcVar5" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*ppppppcVar5" (* "*") (identifier "ppppppcVar5")))) (; ";")) (expression_statement "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);" (assignment_expression "ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90)" (identifier "ppppppcVar33") (= "=") (cast_expression "(code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7da4))" (( "(") (pointer_expression "**(code **)(pcStack_98 + -0x7da4)" (* "*") (pointer_expression "*(code **)(pcStack_98 + -0x7da4)" (* "*") (cast_expression "(code **)(pcStack_98 + -0x7da4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_98 + -0x7da4)" (( "(") (binary_expression "pcStack_98 + -0x7da4" (identifier "pcStack_98") (+ "+") (number_literal "-0x7da4")) () ")"))))) () ")")) (argument_list "(pppppcStack_90)" (( "(") (identifier "pppppcStack_90") () ")"))))) (; ";")) (if_statement "if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;" (if "if") (parenthesized_expression "(ppppppcVar33 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar33 == (code ******)0x0" (identifier "ppppppcVar33") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001073c8;" (goto "goto") (statement_identifier "LAB_001073c8") (; ";"))) (} "}")))) (} "}")))) (} "}"))) (} "}")) (else_clause "else {\n    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];\n    ppppppcVar17 = ppppppcVar5;\n    ppppppcVar38 = ppppppcVar21;\n    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);\n    if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }\n  }" (else "else") (compound_statement "{\n    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];\n    ppppppcVar17 = ppppppcVar5;\n    ppppppcVar38 = ppppppcVar21;\n    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);\n    if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }\n  }" ({ "{") (expression_statement "pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];" (assignment_expression "pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3]" (identifier "pppppcVar25") (= "=") (subscript_expression "ppppppcVar5[(int)pppppcVar25[6] + 3]" (identifier "ppppppcVar5") ([ "[") (binary_expression "(int)pppppcVar25[6] + 3" (cast_expression "(int)pppppcVar25[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppcVar25[6]" (identifier "pppppcVar25") ([ "[") (number_literal "6") (] "]"))) (+ "+") (number_literal "3")) (] "]"))) (; ";")) (expression_statement "ppppppcVar17 = ppppppcVar5;" (assignment_expression "ppppppcVar17 = ppppppcVar5" (identifier "ppppppcVar17") (= "=") (identifier "ppppppcVar5")) (; ";")) (expression_statement "ppppppcVar38 = ppppppcVar21;" (assignment_expression "ppppppcVar38 = ppppppcVar21" (identifier "ppppppcVar38") (= "=") (identifier "ppppppcVar21")) (; ";")) (expression_statement "iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);" (assignment_expression "iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar40 + 0x54418))(pppppcVar25)" (parenthesized_expression "(**(code **)(pcVar40 + 0x54418))" (( "(") (pointer_expression "**(code **)(pcVar40 + 0x54418)" (* "*") (pointer_expression "*(code **)(pcVar40 + 0x54418)" (* "*") (cast_expression "(code **)(pcVar40 + 0x54418)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 0x54418)" (( "(") (binary_expression "pcVar40 + 0x54418" (identifier "pcVar40") (+ "+") (number_literal "0x54418")) () ")"))))) () ")")) (argument_list "(pppppcVar25)" (( "(") (identifier "pppppcVar25") () ")")))) (; ";")) (if_statement "if (iVar4 == 5) {\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }\n    else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }" (if "if") (parenthesized_expression "(iVar4 == 5)" (( "(") (binary_expression "iVar4 == 5" (identifier "iVar4") (== "==") (number_literal "5")) () ")")) (compound_statement "{\n      pppppcVar25 = ppppppcVar5[1];\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }" ({ "{") (expression_statement "pppppcVar25 = ppppppcVar5[1];" (assignment_expression "pppppcVar25 = ppppppcVar5[1]" (identifier "pppppcVar25") (= "=") (subscript_expression "ppppppcVar5[1]" (identifier "ppppppcVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);" (assignment_expression "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fb8))" (( "(") (pointer_expression "**(code **)(pcStack_98 + -0x7fb8)" (* "*") (pointer_expression "*(code **)(pcStack_98 + -0x7fb8)" (* "*") (cast_expression "(code **)(pcStack_98 + -0x7fb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_98 + -0x7fb8)" (( "(") (binary_expression "pcStack_98 + -0x7fb8" (identifier "pcStack_98") (+ "+") (number_literal "-0x7fb8")) () ")"))))) () ")")) (argument_list "(pppppcVar25)" (( "(") (identifier "pppppcVar25") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }" (else "else") (compound_statement "{\n      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);\n    }" ({ "{") (expression_statement "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);" (assignment_expression "iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fb8))" (( "(") (pointer_expression "**(code **)(pcStack_98 + -0x7fb8)" (* "*") (pointer_expression "*(code **)(pcStack_98 + -0x7fb8)" (* "*") (cast_expression "(code **)(pcStack_98 + -0x7fb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_98 + -0x7fb8)" (( "(") (binary_expression "pcStack_98 + -0x7fb8" (identifier "pcStack_98") (+ "+") (number_literal "-0x7fb8")) () ")"))))) () ")")) (argument_list "(pppppcVar25)" (( "(") (identifier "pppppcVar25") () ")")))) (; ";")) (} "}")))) (if_statement "if (iVar4 == 1) {\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }\n    else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }" (if "if") (parenthesized_expression "(iVar4 == 1)" (( "(") (binary_expression "iVar4 == 1" (identifier "iVar4") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      ppppppcVar33 = (code ******)0x0;\n      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);\n      *(undefined8 *)ppppppcVar21 = uVar44;\n    }" ({ "{") (expression_statement "ppppppcVar33 = (code ******)0x0;" (assignment_expression "ppppppcVar33 = (code ******)0x0" (identifier "ppppppcVar33") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);" (assignment_expression "uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25)" (identifier "uVar44") (= "=") (call_expression "(**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25)" (parenthesized_expression "(**(code **)(pcStack_98 + -0x7fa8))" (( "(") (pointer_expression "**(code **)(pcStack_98 + -0x7fa8)" (* "*") (pointer_expression "*(code **)(pcStack_98 + -0x7fa8)" (* "*") (cast_expression "(code **)(pcStack_98 + -0x7fa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_98 + -0x7fa8)" (( "(") (binary_expression "pcStack_98 + -0x7fa8" (identifier "pcStack_98") (+ "+") (number_literal "-0x7fa8")) () ")"))))) () ")")) (argument_list "(pppppcVar25)" (( "(") (identifier "pppppcVar25") () ")")))) (; ";")) (expression_statement "*(undefined8 *)ppppppcVar21 = uVar44;" (assignment_expression "*(undefined8 *)ppppppcVar21 = uVar44" (pointer_expression "*(undefined8 *)ppppppcVar21" (* "*") (cast_expression "(undefined8 *)ppppppcVar21" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppcVar21"))) (= "=") (identifier "uVar44")) (; ";")) (} "}")) (else_clause "else {\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }" (else "else") (compound_statement "{\n      ppppppcVar33 = (code ******)&DAT_00000013;\n    }" ({ "{") (expression_statement "ppppppcVar33 = (code ******)&DAT_00000013;" (assignment_expression "ppppppcVar33 = (code ******)&DAT_00000013" (identifier "ppppppcVar33") (= "=") (cast_expression "(code ******)&DAT_00000013" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000013" (& "&") (identifier "DAT_00000013")))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_00107278:\n  if (pppppcStack_8c == *ppppppcVar31) {\n    return ppppppcVar33;\n  }" (statement_identifier "LAB_00107278") (: ":") (if_statement "if (pppppcStack_8c == *ppppppcVar31) {\n    return ppppppcVar33;\n  }" (if "if") (parenthesized_expression "(pppppcStack_8c == *ppppppcVar31)" (( "(") (binary_expression "pppppcStack_8c == *ppppppcVar31" (identifier "pppppcStack_8c") (== "==") (pointer_expression "*ppppppcVar31" (* "*") (identifier "ppppppcVar31"))) () ")")) (compound_statement "{\n    return ppppppcVar33;\n  }" ({ "{") (return_statement "return ppppppcVar33;" (return "return") (identifier "ppppppcVar33") (; ";")) (} "}")))) (expression_statement "pcVar40 = *(code **)(pcStack_98 + -0x7ba0);" (assignment_expression "pcVar40 = *(code **)(pcStack_98 + -0x7ba0)" (identifier "pcVar40") (= "=") (pointer_expression "*(code **)(pcStack_98 + -0x7ba0)" (* "*") (cast_expression "(code **)(pcStack_98 + -0x7ba0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_98 + -0x7ba0)" (( "(") (binary_expression "pcStack_98 + -0x7ba0" (identifier "pcStack_98") (+ "+") (number_literal "-0x7ba0")) () ")"))))) (; ";")) (expression_statement "pcVar42 = FUN_00107430;" (assignment_expression "pcVar42 = FUN_00107430" (identifier "pcVar42") (= "=") (identifier "FUN_00107430")) (; ";")) (expression_statement "ppppppcVar23 = (code ******)pppppcStack_8c;" (assignment_expression "ppppppcVar23 = (code ******)pppppcStack_8c" (identifier "ppppppcVar23") (= "=") (cast_expression "(code ******)pppppcStack_8c" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_8c"))) (; ";")) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppppppcVar35 = *(code *******)(pcVar40 + 0x545fc);" (assignment_expression "ppppppcVar35 = *(code *******)(pcVar40 + 0x545fc)" (identifier "ppppppcVar35") (= "=") (pointer_expression "*(code *******)(pcVar40 + 0x545fc)" (* "*") (cast_expression "(code *******)(pcVar40 + 0x545fc)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(pcVar40 + 0x545fc)" (( "(") (binary_expression "pcVar40 + 0x545fc" (identifier "pcVar40") (+ "+") (number_literal "0x545fc")) () ")"))))) (; ";")) (expression_statement "ppppppcVar26 = (code ******)*ppppppcVar23;" (assignment_expression "ppppppcVar26 = (code ******)*ppppppcVar23" (identifier "ppppppcVar26") (= "=") (cast_expression "(code ******)*ppppppcVar23" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*ppppppcVar23" (* "*") (identifier "ppppppcVar23")))) (; ";")) (expression_statement "pppppcStack_c4 = *ppppppcVar35;" (assignment_expression "pppppcStack_c4 = *ppppppcVar35" (identifier "pppppcStack_c4") (= "=") (pointer_expression "*ppppppcVar35" (* "*") (identifier "ppppppcVar35"))) (; ";")) (expression_statement "ppppppcVar32 = ppppppcVar23;" (assignment_expression "ppppppcVar32 = ppppppcVar23" (identifier "ppppppcVar32") (= "=") (identifier "ppppppcVar23")) (; ";")) (expression_statement "ppppppcVar28 = ppppppcVar17;" (assignment_expression "ppppppcVar28 = ppppppcVar17" (identifier "ppppppcVar28") (= "=") (identifier "ppppppcVar17")) (; ";")) (expression_statement "ppppcStack_c0 = (code ****)pppppcVar25;" (assignment_expression "ppppcStack_c0 = (code ****)pppppcVar25" (identifier "ppppcStack_c0") (= "=") (cast_expression "(code ****)pppppcVar25" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppcVar25"))) (; ";")) (expression_statement "pppppcStack_bc = (code *****)ppppppcVar31;" (assignment_expression "pppppcStack_bc = (code *****)ppppppcVar31" (identifier "pppppcStack_bc") (= "=") (cast_expression "(code *****)ppppppcVar31" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar31"))) (; ";")) (expression_statement "pppppcStack_b8 = (code *****)ppppppcVar33;" (assignment_expression "pppppcStack_b8 = (code *****)ppppppcVar33" (identifier "pppppcStack_b8") (= "=") (cast_expression "(code *****)ppppppcVar33" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar33"))) (; ";")) (expression_statement "pppppcStack_b4 = (code *****)ppppppcVar5;" (assignment_expression "pppppcStack_b4 = (code *****)ppppppcVar5" (identifier "pppppcStack_b4") (= "=") (cast_expression "(code *****)ppppppcVar5" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar5"))) (; ";")) (expression_statement "pppppcStack_b0 = (code *****)ppppppcVar21;" (assignment_expression "pppppcStack_b0 = (code *****)ppppppcVar21" (identifier "pppppcStack_b0") (= "=") (cast_expression "(code *****)ppppppcVar21" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar21"))) (; ";")) (expression_statement "pcStack_ac = pcVar42;" (assignment_expression "pcStack_ac = pcVar42" (identifier "pcStack_ac") (= "=") (identifier "pcVar42")) (; ";")) (if_statement "if (ppppppcVar26 == (code ******)0x0) {\n    pppppcVar25 = ppppppcVar17[6];\n    param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);\n    ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);\n    ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2);\n    ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();\n    ppppppcVar21 = ppppppcVar23;\n    if (ppppppcVar31 == (code ******)0x0) {\n      *ppppppcVar23 = (code *****)0x7;\n    }\n    else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(ppppppcVar26 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar26 == (code ******)0x0" (identifier "ppppppcVar26") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pppppcVar25 = ppppppcVar17[6];\n    param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);\n    ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);\n    ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2);\n    ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();\n    ppppppcVar21 = ppppppcVar23;\n    if (ppppppcVar31 == (code ******)0x0) {\n      *ppppppcVar23 = (code *****)0x7;\n    }\n    else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }\n  }" ({ "{") (expression_statement "pppppcVar25 = ppppppcVar17[6];" (assignment_expression "pppppcVar25 = ppppppcVar17[6]" (identifier "pppppcVar25") (= "=") (subscript_expression "ppppppcVar17[6]" (identifier "ppppppcVar17") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);" (assignment_expression "param_4 = (code ******)((uint)pppppcVar25 >> 0x1e)" (identifier "param_4") (= "=") (cast_expression "(code ******)((uint)pppppcVar25 >> 0x1e)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((uint)pppppcVar25 >> 0x1e)" (( "(") (binary_expression "(uint)pppppcVar25 >> 0x1e" (cast_expression "(uint)pppppcVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppcVar25")) (>> ">>") (number_literal "0x1e")) () ")")))) (; ";")) (expression_statement "ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);" (assignment_expression "ppppppcVar28 = (code ******)((int)pppppcVar25 * 10)" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)((int)pppppcVar25 * 10)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)pppppcVar25 * 10)" (( "(") (binary_expression "(int)pppppcVar25 * 10" (cast_expression "(int)pppppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar25")) (* "*") (number_literal "10")) () ")")))) (; ";")) (expression_statement "ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2);" (assignment_expression "ppppppcVar32 = (code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2)" (identifier "ppppppcVar32") (= "=") (cast_expression "(code ******)\n                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2)" (( "(") (binary_expression "(uint)((int)pppppcVar25 * 5) >> 0x1f |\n                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2" (binary_expression "(uint)((int)pppppcVar25 * 5) >> 0x1f" (call_expression "(uint)((int)pppppcVar25 * 5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)pppppcVar25 * 5)" (( "(") (binary_expression "(int)pppppcVar25 * 5" (cast_expression "(int)pppppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar25")) (* "*") (number_literal "5")) () ")"))) (>> ">>") (number_literal "0x1f")) (| "|") (binary_expression "((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *\n                   2" (parenthesized_expression "((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f))" (( "(") (binary_expression "(uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)" (binary_expression "(uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +\n                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2)" (call_expression "(uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4))" (( "(") (binary_expression "(uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)" (call_expression "(uint)((int)pppppcVar25 * 5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)pppppcVar25 * 5)" (( "(") (binary_expression "(int)pppppcVar25 * 5" (cast_expression "(int)pppppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar25")) (* "*") (number_literal "5")) () ")"))) (< "<") (call_expression "(uint)((int)pppppcVar25 * 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)pppppcVar25 * 4)" (( "(") (binary_expression "(int)pppppcVar25 * 4" (cast_expression "(int)pppppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar25")) (* "*") (number_literal "4")) () ")")))) () ")"))) (+ "+") (parenthesized_expression "((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2)" (( "(") (binary_expression "(uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2" (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4")) (| "|") (binary_expression "((int)pppppcVar25 >> 0x1f) << 2" (parenthesized_expression "((int)pppppcVar25 >> 0x1f)" (( "(") (binary_expression "(int)pppppcVar25 >> 0x1f" (cast_expression "(int)pppppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar25")) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "2"))) () ")"))) (+ "+") (parenthesized_expression "((int)pppppcVar25 >> 0x1f)" (( "(") (binary_expression "(int)pppppcVar25 >> 0x1f" (cast_expression "(int)pppppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar25")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")) (* "*") (number_literal "2"))) () ")")))) (; ";")) (expression_statement "ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();" (assignment_expression "ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))()" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)(**(code **)(pcVar40 + 0x54330))()" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(pcVar40 + 0x54330))()" (parenthesized_expression "(**(code **)(pcVar40 + 0x54330))" (( "(") (pointer_expression "**(code **)(pcVar40 + 0x54330)" (* "*") (pointer_expression "*(code **)(pcVar40 + 0x54330)" (* "*") (cast_expression "(code **)(pcVar40 + 0x54330)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 0x54330)" (( "(") (binary_expression "pcVar40 + 0x54330" (identifier "pcVar40") (+ "+") (number_literal "0x54330")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar23;" (assignment_expression "ppppppcVar21 = ppppppcVar23" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar23")) (; ";")) (if_statement "if (ppppppcVar31 == (code ******)0x0) {\n      *ppppppcVar23 = (code *****)0x7;\n    }\n    else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }" (if "if") (parenthesized_expression "(ppppppcVar31 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar31 == (code ******)0x0" (identifier "ppppppcVar31") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *ppppppcVar23 = (code *****)0x7;\n    }" ({ "{") (expression_statement "*ppppppcVar23 = (code *****)0x7;" (assignment_expression "*ppppppcVar23 = (code *****)0x7" (pointer_expression "*ppppppcVar23" (* "*") (identifier "ppppppcVar23")) (= "=") (cast_expression "(code *****)0x7" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x7"))) (; ";")) (} "}")) (else_clause "else {\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }" (else "else") (compound_statement "{\n      if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }\n      param_4 = (code ******)0x0;\n      ppppppcVar38 = &pppppcStack_c8;\n      ppppppcVar28 = (code ******)0x14;\n      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);\n      if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }\n    }" ({ "{") (if_statement "if (0 < (int)ppppppcVar17[6]) {\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }" (if "if") (parenthesized_expression "(0 < (int)ppppppcVar17[6])" (( "(") (binary_expression "0 < (int)ppppppcVar17[6]" (number_literal "0") (< "<") (cast_expression "(int)ppppppcVar17[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar17[6]" (identifier "ppppppcVar17") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];\n        ppppppcVar26 = (code ******)0x0;\n        do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);\n      }" ({ "{") (expression_statement "ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];" (assignment_expression "ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6]" (identifier "ppppppcVar5") (= "=") (binary_expression "ppppppcVar38 + (int)ppppppcVar17[6]" (identifier "ppppppcVar38") (+ "+") (cast_expression "(int)ppppppcVar17[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar17[6]" (identifier "ppppppcVar17") ([ "[") (number_literal "6") (] "]"))))) (; ";")) (expression_statement "ppppppcVar26 = (code ******)0x0;" (assignment_expression "ppppppcVar26 = (code ******)0x0" (identifier "ppppppcVar26") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        } while (ppppppcVar5 != ppppppcVar38);" (do "do") (compound_statement "{\n          pppppcVar25 = *ppppppcVar38;\n          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);\n          do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);\n          ppppppcVar38 = ppppppcVar38 + 1;\n          *pcVar43 = (code)(bVar2 & 0x7f);\n          ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));\n        }" ({ "{") (expression_statement "pppppcVar25 = *ppppppcVar38;" (assignment_expression "pppppcVar25 = *ppppppcVar38" (identifier "pppppcVar25") (= "=") (pointer_expression "*ppppppcVar38" (* "*") (identifier "ppppppcVar38"))) (; ";")) (expression_statement "pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);" (assignment_expression "pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26)" (identifier "pcVar42") (= "=") (cast_expression "(code *)((int)ppppppcVar31 + (int)ppppppcVar26)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar31 + (int)ppppppcVar26)" (( "(") (binary_expression "(int)ppppppcVar31 + (int)ppppppcVar26" (cast_expression "(int)ppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar31")) (+ "+") (cast_expression "(int)ppppppcVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar26"))) () ")")))) (; ";")) (do_statement "do {\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          } while (pppppcVar29 != (code *****)0x0);" (do "do") (compound_statement "{\n            pcVar43 = pcVar42;\n            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n            bVar2 = (byte)pppppcVar25;\n            *pcVar43 = (code)(bVar2 | 0x80);\n            pppppcVar25 = pppppcVar29;\n            pcVar42 = pcVar43 + 1;\n          }" ({ "{") (expression_statement "pcVar43 = pcVar42;" (assignment_expression "pcVar43 = pcVar42" (identifier "pcVar43") (= "=") (identifier "pcVar42")) (; ";")) (expression_statement "pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);" (assignment_expression "pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7)" (identifier "pppppcVar29") (= "=") (cast_expression "(code *****)((uint)pppppcVar25 >> 7)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((uint)pppppcVar25 >> 7)" (( "(") (binary_expression "(uint)pppppcVar25 >> 7" (cast_expression "(uint)pppppcVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppcVar25")) (>> ">>") (number_literal "7")) () ")")))) (; ";")) (expression_statement "bVar2 = (byte)pppppcVar25;" (assignment_expression "bVar2 = (byte)pppppcVar25" (identifier "bVar2") (= "=") (cast_expression "(byte)pppppcVar25" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "pppppcVar25"))) (; ";")) (expression_statement "*pcVar43 = (code)(bVar2 | 0x80);" (assignment_expression "*pcVar43 = (code)(bVar2 | 0x80)" (pointer_expression "*pcVar43" (* "*") (identifier "pcVar43")) (= "=") (call_expression "(code)(bVar2 | 0x80)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "(bVar2 | 0x80)" (( "(") (binary_expression "bVar2 | 0x80" (identifier "bVar2") (| "|") (number_literal "0x80")) () ")")))) (; ";")) (expression_statement "pppppcVar25 = pppppcVar29;" (assignment_expression "pppppcVar25 = pppppcVar29" (identifier "pppppcVar25") (= "=") (identifier "pppppcVar29")) (; ";")) (expression_statement "pcVar42 = pcVar43 + 1;" (assignment_expression "pcVar42 = pcVar43 + 1" (identifier "pcVar42") (= "=") (binary_expression "pcVar43 + 1" (identifier "pcVar43") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppppcVar29 != (code *****)0x0)" (( "(") (binary_expression "pppppcVar29 != (code *****)0x0" (identifier "pppppcVar29") (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "ppppppcVar38 = ppppppcVar38 + 1;" (assignment_expression "ppppppcVar38 = ppppppcVar38 + 1" (identifier "ppppppcVar38") (= "=") (binary_expression "ppppppcVar38 + 1" (identifier "ppppppcVar38") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pcVar43 = (code)(bVar2 & 0x7f);" (assignment_expression "*pcVar43 = (code)(bVar2 & 0x7f)" (pointer_expression "*pcVar43" (* "*") (identifier "pcVar43")) (= "=") (call_expression "(code)(bVar2 & 0x7f)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "(bVar2 & 0x7f)" (( "(") (binary_expression "bVar2 & 0x7f" (identifier "bVar2") (& "&") (number_literal "0x7f")) () ")")))) (; ";")) (expression_statement "ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));" (assignment_expression "ppppppcVar26 = (code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)))" (identifier "ppppppcVar26") (= "=") (cast_expression "(code ******)\n                         ((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)))" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)))" (( "(") (binary_expression "(int)ppppppcVar26 +\n                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26))" (cast_expression "(int)ppppppcVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar26")) (+ "+") (parenthesized_expression "((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26))" (( "(") (binary_expression "(int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)" (cast_expression "(int)(pcVar43 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pcVar43 + 1)" (( "(") (binary_expression "pcVar43 + 1" (identifier "pcVar43") (+ "+") (number_literal "1")) () ")"))) (- "-") (parenthesized_expression "((int)ppppppcVar31 + (int)ppppppcVar26)" (( "(") (binary_expression "(int)ppppppcVar31 + (int)ppppppcVar26" (cast_expression "(int)ppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar31")) (+ "+") (cast_expression "(int)ppppppcVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar26"))) () ")"))) () ")"))) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppppppcVar5 != ppppppcVar38)" (( "(") (binary_expression "ppppppcVar5 != ppppppcVar38" (identifier "ppppppcVar5") (!= "!=") (identifier "ppppppcVar38")) () ")")) (; ";")) (} "}"))) (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" (identifier "param_4") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar38 = &pppppcStack_c8;" (assignment_expression "ppppppcVar38 = &pppppcStack_c8" (identifier "ppppppcVar38") (= "=") (pointer_expression "&pppppcStack_c8" (& "&") (identifier "pppppcStack_c8"))) (; ";")) (expression_statement "ppppppcVar28 = (code ******)0x14;" (assignment_expression "ppppppcVar28 = (code ******)0x14" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)0x14" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x14"))) (; ";")) (expression_statement "pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);" (assignment_expression "pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17)" (identifier "pppppcVar25") (= "=") (cast_expression "(code *****)FUN_000f7f20(ppppppcVar17)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "FUN_000f7f20(ppppppcVar17)" (identifier "FUN_000f7f20") (argument_list "(ppppppcVar17)" (( "(") (identifier "ppppppcVar17") () ")"))))) (; ";")) (if_statement "if (pppppcVar25 == (code *****)0x0) {\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }\n      else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }" (if "if") (parenthesized_expression "(pppppcVar25 == (code *****)0x0)" (( "(") (binary_expression "pppppcVar25 == (code *****)0x0" (identifier "pppppcVar25") (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);\n        ppppppcVar28 = (code ******)&SUB_00000002;\n        iStack_e0 = *(int *)(pcVar40 + 0x541f0);\n        ppppppcVar38 = ppppppcVar31;\n        param_4 = ppppppcVar26;\n        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);\n        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);\n        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();\n        *ppppppcVar23 = pppppcVar25;\n        ppppppcVar32 = (code ******)pppppcStack_c8;\n      }" ({ "{") (expression_statement "(**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);" (call_expression "(**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45])" (parenthesized_expression "(**(code **)(pcVar40 + 0x543c8))" (( "(") (pointer_expression "**(code **)(pcVar40 + 0x543c8)" (* "*") (pointer_expression "*(code **)(pcVar40 + 0x543c8)" (* "*") (cast_expression "(code **)(pcVar40 + 0x543c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 0x543c8)" (( "(") (binary_expression "pcVar40 + 0x543c8" (identifier "pcVar40") (+ "+") (number_literal "0x543c8")) () ")"))))) () ")")) (argument_list "(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45])" (( "(") (identifier "pppppcStack_c8") (, ",") (number_literal "1") (, ",") (subscript_expression "ppppppcVar17[0x44]" (identifier "ppppppcVar17") ([ "[") (number_literal "0x44") (] "]")) (, ",") (subscript_expression "ppppppcVar17[0x45]" (identifier "ppppppcVar17") ([ "[") (number_literal "0x45") (] "]")) () ")"))) (; ";")) (expression_statement "ppppppcVar28 = (code ******)&SUB_00000002;" (assignment_expression "ppppppcVar28 = (code ******)&SUB_00000002" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)&SUB_00000002" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&SUB_00000002" (& "&") (identifier "SUB_00000002")))) (; ";")) (expression_statement "iStack_e0 = *(int *)(pcVar40 + 0x541f0);" (assignment_expression "iStack_e0 = *(int *)(pcVar40 + 0x541f0)" (identifier "iStack_e0") (= "=") (pointer_expression "*(int *)(pcVar40 + 0x541f0)" (* "*") (cast_expression "(int *)(pcVar40 + 0x541f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar40 + 0x541f0)" (( "(") (binary_expression "pcVar40 + 0x541f0" (identifier "pcVar40") (+ "+") (number_literal "0x541f0")) () ")"))))) (; ";")) (expression_statement "ppppppcVar38 = ppppppcVar31;" (assignment_expression "ppppppcVar38 = ppppppcVar31" (identifier "ppppppcVar38") (= "=") (identifier "ppppppcVar31")) (; ";")) (expression_statement "param_4 = ppppppcVar26;" (assignment_expression "param_4 = ppppppcVar26" (identifier "param_4") (= "=") (identifier "ppppppcVar26")) (; ";")) (expression_statement "(**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);" (call_expression "(**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8)" (parenthesized_expression "(**(code **)(pcVar40 + 0x543cc))" (( "(") (pointer_expression "**(code **)(pcVar40 + 0x543cc)" (* "*") (pointer_expression "*(code **)(pcVar40 + 0x543cc)" (* "*") (cast_expression "(code **)(pcVar40 + 0x543cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 0x543cc)" (( "(") (binary_expression "pcVar40 + 0x543cc" (identifier "pcVar40") (+ "+") (number_literal "0x543cc")) () ")"))))) () ")")) (argument_list "(pppppcStack_c8)" (( "(") (identifier "pppppcStack_c8") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);" (call_expression "(**(code **)(pcVar40 + 0x54200))(pppppcStack_c8)" (parenthesized_expression "(**(code **)(pcVar40 + 0x54200))" (( "(") (pointer_expression "**(code **)(pcVar40 + 0x54200)" (* "*") (pointer_expression "*(code **)(pcVar40 + 0x54200)" (* "*") (cast_expression "(code **)(pcVar40 + 0x54200)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 0x54200)" (( "(") (binary_expression "pcVar40 + 0x54200" (identifier "pcVar40") (+ "+") (number_literal "0x54200")) () ")"))))) () ")")) (argument_list "(pppppcStack_c8)" (( "(") (identifier "pppppcStack_c8") () ")"))) (; ";")) (expression_statement "pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();" (assignment_expression "pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))()" (identifier "pppppcVar25") (= "=") (cast_expression "(code *****)(**(code **)(pcVar40 + 0x54218))()" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(pcVar40 + 0x54218))()" (parenthesized_expression "(**(code **)(pcVar40 + 0x54218))" (( "(") (pointer_expression "**(code **)(pcVar40 + 0x54218)" (* "*") (pointer_expression "*(code **)(pcVar40 + 0x54218)" (* "*") (cast_expression "(code **)(pcVar40 + 0x54218)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 0x54218)" (( "(") (binary_expression "pcVar40 + 0x54218" (identifier "pcVar40") (+ "+") (number_literal "0x54218")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*ppppppcVar23 = pppppcVar25;" (assignment_expression "*ppppppcVar23 = pppppcVar25" (pointer_expression "*ppppppcVar23" (* "*") (identifier "ppppppcVar23")) (= "=") (identifier "pppppcVar25")) (; ";")) (expression_statement "ppppppcVar32 = (code ******)pppppcStack_c8;" (assignment_expression "ppppppcVar32 = (code ******)pppppcStack_c8" (identifier "ppppppcVar32") (= "=") (cast_expression "(code ******)pppppcStack_c8" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_c8"))) (; ";")) (} "}")) (else_clause "else {\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }" (else "else") (compound_statement "{\n        ppppppcVar32 = ppppppcVar31;\n        (**(code **)(pcVar40 + 0x541f0))();\n        *ppppppcVar23 = pppppcVar25;\n      }" ({ "{") (expression_statement "ppppppcVar32 = ppppppcVar31;" (assignment_expression "ppppppcVar32 = ppppppcVar31" (identifier "ppppppcVar32") (= "=") (identifier "ppppppcVar31")) (; ";")) (expression_statement "(**(code **)(pcVar40 + 0x541f0))();" (call_expression "(**(code **)(pcVar40 + 0x541f0))()" (parenthesized_expression "(**(code **)(pcVar40 + 0x541f0))" (( "(") (pointer_expression "**(code **)(pcVar40 + 0x541f0)" (* "*") (pointer_expression "*(code **)(pcVar40 + 0x541f0)" (* "*") (cast_expression "(code **)(pcVar40 + 0x541f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 0x541f0)" (( "(") (binary_expression "pcVar40 + 0x541f0" (identifier "pcVar40") (+ "+") (number_literal "0x541f0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*ppppppcVar23 = pppppcVar25;" (assignment_expression "*ppppppcVar23 = pppppcVar25" (pointer_expression "*ppppppcVar23" (* "*") (identifier "ppppppcVar23")) (= "=") (identifier "pppppcVar25")) (; ";")) (} "}")))) (} "}")))) (} "}"))) (if_statement "if (pppppcStack_c4 == *ppppppcVar35) {\n    return (code ******)*ppppppcVar35;\n  }" (if "if") (parenthesized_expression "(pppppcStack_c4 == *ppppppcVar35)" (( "(") (binary_expression "pppppcStack_c4 == *ppppppcVar35" (identifier "pppppcStack_c4") (== "==") (pointer_expression "*ppppppcVar35" (* "*") (identifier "ppppppcVar35"))) () ")")) (compound_statement "{\n    return (code ******)*ppppppcVar35;\n  }" ({ "{") (return_statement "return (code ******)*ppppppcVar35;" (return "return") (cast_expression "(code ******)*ppppppcVar35" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*ppppppcVar35" (* "*") (identifier "ppppppcVar35"))) (; ";")) (} "}"))) (expression_statement "pcVar40 = *(code **)(pcVar40 + 0x545e0);" (assignment_expression "pcVar40 = *(code **)(pcVar40 + 0x545e0)" (identifier "pcVar40") (= "=") (pointer_expression "*(code **)(pcVar40 + 0x545e0)" (* "*") (cast_expression "(code **)(pcVar40 + 0x545e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 0x545e0)" (( "(") (binary_expression "pcVar40 + 0x545e0" (identifier "pcVar40") (+ "+") (number_literal "0x545e0")) () ")"))))) (; ";")) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_148 = pcVar40 + 0x5bf88;" (assignment_expression "pcStack_148 = pcVar40 + 0x5bf88" (identifier "pcStack_148") (= "=") (binary_expression "pcVar40 + 0x5bf88" (identifier "pcVar40") (+ "+") (number_literal "0x5bf88"))) (; ";")) (expression_statement "piVar27 = *(int **)(pcVar40 + 0x54404);" (assignment_expression "piVar27 = *(int **)(pcVar40 + 0x54404)" (identifier "piVar27") (= "=") (pointer_expression "*(int **)(pcVar40 + 0x54404)" (* "*") (cast_expression "(int **)(pcVar40 + 0x54404)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 0x54404)" (( "(") (binary_expression "pcVar40 + 0x54404" (identifier "pcVar40") (+ "+") (number_literal "0x54404")) () ")"))))) (; ";")) (expression_statement "pppppcStack_11c = (code *****)*piVar27;" (assignment_expression "pppppcStack_11c = (code *****)*piVar27" (identifier "pppppcStack_11c") (= "=") (cast_expression "(code *****)*piVar27" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "*piVar27" (* "*") (identifier "piVar27")))) (; ";")) (expression_statement "ppppppcVar5 = ppppppcVar32;" (assignment_expression "ppppppcVar5 = ppppppcVar32" (identifier "ppppppcVar5") (= "=") (identifier "ppppppcVar32")) (; ";")) (expression_statement "ppppppcVar33 = ppppppcVar38;" (assignment_expression "ppppppcVar33 = ppppppcVar38" (identifier "ppppppcVar33") (= "=") (identifier "ppppppcVar38")) (; ";")) (expression_statement "ppppppcVar23 = param_4;" (assignment_expression "ppppppcVar23 = param_4" (identifier "ppppppcVar23") (= "=") (identifier "param_4")) (; ";")) (expression_statement "pppppcStack_118 = (code *****)ppppppcVar26;" (assignment_expression "pppppcStack_118 = (code *****)ppppppcVar26" (identifier "pppppcStack_118") (= "=") (cast_expression "(code *****)ppppppcVar26" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar26"))) (; ";")) (expression_statement "pppppcStack_114 = (code *****)ppppppcVar31;" (assignment_expression "pppppcStack_114 = (code *****)ppppppcVar31" (identifier "pppppcStack_114") (= "=") (cast_expression "(code *****)ppppppcVar31" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar31"))) (; ";")) (expression_statement "pppppcStack_110 = (code *****)ppppppcVar35;" (assignment_expression "pppppcStack_110 = (code *****)ppppppcVar35" (identifier "pppppcStack_110") (= "=") (cast_expression "(code *****)ppppppcVar35" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar35"))) (; ";")) (expression_statement "pppppcStack_10c = (code *****)ppppppcVar17;" (assignment_expression "pppppcStack_10c = (code *****)ppppppcVar17" (identifier "pppppcStack_10c") (= "=") (cast_expression "(code *****)ppppppcVar17" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar17"))) (; ";")) (expression_statement "pppppcStack_108 = (code *****)ppppppcVar21;" (assignment_expression "pppppcStack_108 = (code *****)ppppppcVar21" (identifier "pppppcStack_108") (= "=") (cast_expression "(code *****)ppppppcVar21" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar21"))) (; ";")) (expression_statement "pppppcStack_104 = (code *****)unaff_s5;" (assignment_expression "pppppcStack_104 = (code *****)unaff_s5" (identifier "pppppcStack_104") (= "=") (cast_expression "(code *****)unaff_s5" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s5"))) (; ";")) (if_statement "if (*ppppppcVar32 == (code *****)0x0) {\n    ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);\n    ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);\n    ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);\n    ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);\n    ppppppcVar17 = ppppppcVar28;\n    unaff_s5 = ppppppcVar38;\n    unaff_s6 = param_4;\n    if (ppppppcVar35 == (code ******)0x0) {\n      *ppppppcVar32 = (code *****)0x7;\n    }\n    else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }\n  }" (if "if") (parenthesized_expression "(*ppppppcVar32 == (code *****)0x0)" (( "(") (binary_expression "*ppppppcVar32 == (code *****)0x0" (pointer_expression "*ppppppcVar32" (* "*") (identifier "ppppppcVar32")) (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);\n    ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);\n    ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);\n    ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);\n    ppppppcVar17 = ppppppcVar28;\n    unaff_s5 = ppppppcVar38;\n    unaff_s6 = param_4;\n    if (ppppppcVar35 == (code ******)0x0) {\n      *ppppppcVar32 = (code *****)0x7;\n    }\n    else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }\n  }" ({ "{") (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2)" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)((int)ppppppcVar28[6] + 2)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppcVar28[6] + 2)" (( "(") (binary_expression "(int)ppppppcVar28[6] + 2" (cast_expression "(int)ppppppcVar28[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar28[6]" (identifier "ppppppcVar28") ([ "[") (number_literal "6") (] "]"))) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);" (assignment_expression "ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d)" (identifier "ppppppcVar33") (= "=") (cast_expression "(code ******)((uint)ppppppcVar21 >> 0x1d)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((uint)ppppppcVar21 >> 0x1d)" (( "(") (binary_expression "(uint)ppppppcVar21 >> 0x1d" (cast_expression "(uint)ppppppcVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppppcVar21")) (>> ">>") (number_literal "0x1d")) () ")")))) (; ";")) (expression_statement "ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);" (assignment_expression "ppppppcVar5 = (code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2)" (identifier "ppppppcVar5") (= "=") (cast_expression "(code ******)\n                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2)" (( "(") (binary_expression "(uint)((int)ppppppcVar21 * 7) >> 0x1f |\n                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2" (binary_expression "(uint)((int)ppppppcVar21 * 7) >> 0x1f" (call_expression "(uint)((int)ppppppcVar21 * 7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)ppppppcVar21 * 7)" (( "(") (binary_expression "(int)ppppppcVar21 * 7" (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21")) (* "*") (number_literal "7")) () ")"))) (>> ">>") (number_literal "0x1f")) (| "|") (binary_expression "((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2" (parenthesized_expression "((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7)))" (( "(") (binary_expression "(((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)) -\n                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))" (parenthesized_expression "(((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f))" (( "(") (binary_expression "((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -\n                   ((int)ppppppcVar21 >> 0x1f)" (parenthesized_expression "((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3)" (( "(") (binary_expression "(uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3" (cast_expression "(uint)ppppppcVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppppcVar33")) (| "|") (binary_expression "((int)ppppppcVar21 >> 0x1f) << 3" (parenthesized_expression "((int)ppppppcVar21 >> 0x1f)" (( "(") (binary_expression "(int)ppppppcVar21 >> 0x1f" (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21")) (>> ">>") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "3"))) () ")")) (- "-") (parenthesized_expression "((int)ppppppcVar21 >> 0x1f)" (( "(") (binary_expression "(int)ppppppcVar21 >> 0x1f" (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")) (- "-") (call_expression "(uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))" (( "(") (binary_expression "(uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7)" (call_expression "(uint)((int)ppppppcVar21 * 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)ppppppcVar21 * 8)" (( "(") (binary_expression "(int)ppppppcVar21 * 8" (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21")) (* "*") (number_literal "8")) () ")"))) (< "<") (call_expression "(uint)((int)ppppppcVar21 * 7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)ppppppcVar21 * 7)" (( "(") (binary_expression "(int)ppppppcVar21 * 7" (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21")) (* "*") (number_literal "7")) () ")")))) () ")")))) () ")")) (* "*") (number_literal "2"))) () ")")))) (; ";")) (expression_statement "ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);" (assignment_expression "ppppppcVar35 = (code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe)" (identifier "ppppppcVar35") (= "=") (cast_expression "(code ******)\n                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe)" (parenthesized_expression "(**(code **)(pcVar40 + 0x54138))" (( "(") (pointer_expression "**(code **)(pcVar40 + 0x54138)" (* "*") (pointer_expression "*(code **)(pcVar40 + 0x54138)" (* "*") (cast_expression "(code **)(pcVar40 + 0x54138)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 0x54138)" (( "(") (binary_expression "pcVar40 + 0x54138" (identifier "pcVar40") (+ "+") (number_literal "0x54138")) () ")"))))) () ")")) (argument_list "(ppppppcVar5,(int)ppppppcVar21 * 0xe)" (( "(") (identifier "ppppppcVar5") (, ",") (binary_expression "(int)ppppppcVar21 * 0xe" (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21")) (* "*") (number_literal "0xe")) () ")"))))) (; ";")) (expression_statement "ppppppcVar17 = ppppppcVar28;" (assignment_expression "ppppppcVar17 = ppppppcVar28" (identifier "ppppppcVar17") (= "=") (identifier "ppppppcVar28")) (; ";")) (expression_statement "unaff_s5 = ppppppcVar38;" (assignment_expression "unaff_s5 = ppppppcVar38" (identifier "unaff_s5") (= "=") (identifier "ppppppcVar38")) (; ";")) (expression_statement "unaff_s6 = param_4;" (assignment_expression "unaff_s6 = param_4" (identifier "unaff_s6") (= "=") (identifier "param_4")) (; ";")) (if_statement "if (ppppppcVar35 == (code ******)0x0) {\n      *ppppppcVar32 = (code *****)0x7;\n    }\n    else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }" (if "if") (parenthesized_expression "(ppppppcVar35 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar35 == (code ******)0x0" (identifier "ppppppcVar35") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *ppppppcVar32 = (code *****)0x7;\n    }" ({ "{") (expression_statement "*ppppppcVar32 = (code *****)0x7;" (assignment_expression "*ppppppcVar32 = (code *****)0x7" (pointer_expression "*ppppppcVar32" (* "*") (identifier "ppppppcVar32")) (= "=") (cast_expression "(code *****)0x7" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x7"))) (; ";")) (} "}")) (else_clause "else {\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }" (else "else") (compound_statement "{\n      ppppppcVar33 = (code ******)&ppppcStack_12c;\n      ppppppcVar23 = (code ******)0x0;\n      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);\n      pppppcStack_140 = (code *****)ppppppcVar33;\n      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);\n      ppppppcVar5 = ppppppcVar35;\n      if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }\n      (**(code **)(pcStack_148 + -0x7f90))();\n      *ppppppcVar32 = (code *****)unaff_s8;\n    }" ({ "{") (expression_statement "ppppppcVar33 = (code ******)&ppppcStack_12c;" (assignment_expression "ppppppcVar33 = (code ******)&ppppcStack_12c" (identifier "ppppppcVar33") (= "=") (cast_expression "(code ******)&ppppcStack_12c" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&ppppcStack_12c" (& "&") (identifier "ppppcStack_12c")))) (; ";")) (expression_statement "ppppppcVar23 = (code ******)0x0;" (assignment_expression "ppppppcVar23 = (code ******)0x0" (identifier "ppppppcVar23") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);" (assignment_expression "pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20)" (identifier "pcStack_13c") (= "=") (cast_expression "(code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_148 + -0x7d30) + 0x7f20)" (( "(") (binary_expression "*(int *)(pcStack_148 + -0x7d30) + 0x7f20" (pointer_expression "*(int *)(pcStack_148 + -0x7d30)" (* "*") (cast_expression "(int *)(pcStack_148 + -0x7d30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_148 + -0x7d30)" (( "(") (binary_expression "pcStack_148 + -0x7d30" (identifier "pcStack_148") (+ "+") (number_literal "-0x7d30")) () ")")))) (+ "+") (number_literal "0x7f20")) () ")")))) (; ";")) (expression_statement "pppppcStack_140 = (code *****)ppppppcVar33;" (assignment_expression "pppppcStack_140 = (code *****)ppppppcVar33" (identifier "pppppcStack_140") (= "=") (cast_expression "(code *****)ppppppcVar33" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar33"))) (; ";")) (expression_statement "unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);" (assignment_expression "unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16)" (identifier "unaff_s8") (= "=") (cast_expression "(code ******)FUN_000f7f20(ppppppcVar28,0x16)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000f7f20(ppppppcVar28,0x16)" (identifier "FUN_000f7f20") (argument_list "(ppppppcVar28,0x16)" (( "(") (identifier "ppppppcVar28") (, ",") (number_literal "0x16") () ")"))))) (; ";")) (expression_statement "ppppppcVar5 = ppppppcVar35;" (assignment_expression "ppppppcVar5 = ppppppcVar35" (identifier "ppppppcVar5") (= "=") (identifier "ppppppcVar35")) (; ";")) (if_statement "if (unaff_s8 == (code ******)0x0) {\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }" (if "if") (parenthesized_expression "(unaff_s8 == (code ******)0x0)" (( "(") (binary_expression "unaff_s8 == (code ******)0x0" (identifier "unaff_s8") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        ppppppcVar33 = (code ******)0x0;\n        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);\n        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);\n        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n        if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }\n        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);\n        if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }\n      }" ({ "{") (expression_statement "ppppppcVar33 = (code ******)0x0;" (assignment_expression "ppppppcVar33 = (code ******)0x0" (identifier "ppppppcVar33") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "unaff_s7 = (code ******)((int)ppppppcVar21 * 4);" (assignment_expression "unaff_s7 = (code ******)((int)ppppppcVar21 * 4)" (identifier "unaff_s7") (= "=") (cast_expression "(code ******)((int)ppppppcVar21 * 4)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppcVar21 * 4)" (( "(") (binary_expression "(int)ppppppcVar21 * 4" (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21")) (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);" (call_expression "(**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7d0c))" (( "(") (pointer_expression "**(code **)(pcStack_148 + -0x7d0c)" (* "*") (pointer_expression "*(code **)(pcStack_148 + -0x7d0c)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7d0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7d0c)" (( "(") (binary_expression "pcStack_148 + -0x7d0c" (identifier "pcStack_148") (+ "+") (number_literal "-0x7d0c")) () ")"))))) () ")")) (argument_list "(ppppcStack_12c,1)" (( "(") (identifier "ppppcStack_12c") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);" (assignment_expression "iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f80))" (( "(") (pointer_expression "**(code **)(pcStack_148 + -0x7f80)" (* "*") (pointer_expression "*(code **)(pcStack_148 + -0x7f80)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7f80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7f80)" (( "(") (binary_expression "pcStack_148 + -0x7f80" (identifier "pcStack_148") (+ "+") (number_literal "-0x7f80")) () ")"))))) () ")")) (argument_list "(ppppcStack_12c)" (( "(") (identifier "ppppcStack_12c") () ")")))) (; ";")) (if_statement "if (iVar4 == 100) {\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }\n        else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }" (if "if") (parenthesized_expression "(iVar4 == 100)" (( "(") (binary_expression "iVar4 == 100" (identifier "iVar4") (== "==") (number_literal "100")) () ")")) (compound_statement "{\n          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);\n          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);\n          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }\n        }" ({ "{") (expression_statement "iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);" (assignment_expression "iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0)" (identifier "iStack_138") (= "=") (call_expression "(**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f48))" (( "(") (pointer_expression "**(code **)(pcStack_148 + -0x7f48)" (* "*") (pointer_expression "*(code **)(pcStack_148 + -0x7f48)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7f48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7f48)" (( "(") (binary_expression "pcStack_148 + -0x7f48" (identifier "pcStack_148") (+ "+") (number_literal "-0x7f48")) () ")"))))) () ")")) (argument_list "(ppppcStack_12c,0)" (( "(") (identifier "ppppcStack_12c") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);" (assignment_expression "iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0)" (identifier "iStack_134") (= "=") (call_expression "(**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f4c))" (( "(") (pointer_expression "**(code **)(pcStack_148 + -0x7f4c)" (* "*") (pointer_expression "*(code **)(pcStack_148 + -0x7f4c)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7f4c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7f4c)" (( "(") (binary_expression "pcStack_148 + -0x7f4c" (identifier "pcStack_148") (+ "+") (number_literal "-0x7f4c")) () ")"))))) () ")")) (argument_list "(ppppcStack_12c,0)" (( "(") (identifier "ppppcStack_12c") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }\n          else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }" (if "if") (parenthesized_expression "((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0'))" (( "(") (binary_expression "(iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')" (parenthesized_expression "(iStack_134 == 0)" (( "(") (binary_expression "iStack_134 == 0" (identifier "iStack_134") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(char *)(iStack_138 + iStack_134 + -1) < '\0')" (( "(") (binary_expression "*(char *)(iStack_138 + iStack_134 + -1) < '\0'" (pointer_expression "*(char *)(iStack_138 + iStack_134 + -1)" (* "*") (cast_expression "(char *)(iStack_138 + iStack_134 + -1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_138 + iStack_134 + -1)" (( "(") (binary_expression "iStack_138 + iStack_134 + -1" (binary_expression "iStack_138 + iStack_134" (identifier "iStack_138") (+ "+") (identifier "iStack_134")) (+ "+") (number_literal "-1")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            ppppppcVar31 = (code ******)0x0;\n            if (0 < (int)ppppppcVar21) goto LAB_001079ec;\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n          }" ({ "{") (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (0 < (int)ppppppcVar21) goto LAB_001079ec;" (if "if") (parenthesized_expression "(0 < (int)ppppppcVar21)" (( "(") (binary_expression "0 < (int)ppppppcVar21" (number_literal "0") (< "<") (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21"))) () ")")) (goto_statement "goto LAB_001079ec;" (goto "goto") (statement_identifier "LAB_001079ec") (; ";"))) (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7f68);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7f68)" (identifier "pcVar40") (= "=") (pointer_expression "*(code **)(pcStack_148 + -0x7f68)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7f68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7f68)" (( "(") (binary_expression "pcStack_148 + -0x7f68" (identifier "pcStack_148") (+ "+") (number_literal "-0x7f68")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }" (else "else") (compound_statement "{\n            pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }\n          }" ({ "{") (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7f68);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7f68)" (identifier "pcVar40") (= "=") (pointer_expression "*(code **)(pcStack_148 + -0x7f68)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7f68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7f68)" (( "(") (binary_expression "pcStack_148 + -0x7f68" (identifier "pcStack_148") (+ "+") (number_literal "-0x7f68")) () ")"))))) (; ";")) (if_statement "if (0 < (int)ppppppcVar21) {\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }" (if "if") (parenthesized_expression "(0 < (int)ppppppcVar21)" (( "(") (binary_expression "0 < (int)ppppppcVar21" (number_literal "0") (< "<") (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21"))) () ")")) (compound_statement "{\n              ppppppcVar31 = (code ******)0x0;\n              if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }\nLAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;\n              do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);\n              pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n            }" ({ "{") (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (0 < iStack_134) {\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }" (if "if") (parenthesized_expression "(0 < iStack_134)" (( "(") (binary_expression "0 < iStack_134" (number_literal "0") (< "<") (identifier "iStack_134")) () ")")) (compound_statement "{\n                puVar24 = auStack_128;\n                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);\n                iVar4 = 0;\n                ppppppcVar26 = ppppppcVar35;\n                do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);\n              }" ({ "{") (expression_statement "puVar24 = auStack_128;" (assignment_expression "puVar24 = auStack_128" (identifier "puVar24") (= "=") (identifier "auStack_128")) (; ";")) (expression_statement "pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);" (assignment_expression "pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74)" (identifier "pcVar40") (= "=") (cast_expression "(code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_148 + -0x7f54) + 0xf74)" (( "(") (binary_expression "*(int *)(pcStack_148 + -0x7f54) + 0xf74" (pointer_expression "*(int *)(pcStack_148 + -0x7f54)" (* "*") (cast_expression "(int *)(pcStack_148 + -0x7f54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_148 + -0x7f54)" (( "(") (binary_expression "pcStack_148 + -0x7f54" (identifier "pcStack_148") (+ "+") (number_literal "-0x7f54")) () ")")))) (+ "+") (number_literal "0xf74")) () ")")))) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppppppcVar26 = ppppppcVar35;" (assignment_expression "ppppppcVar26 = ppppppcVar35" (identifier "ppppppcVar26") (= "=") (identifier "ppppppcVar35")) (; ";")) (do_statement "do {\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                } while (iVar4 < iStack_134);" (do "do") (compound_statement "{\n                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);\n                  iVar4 = iVar4 + iVar6;\n                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                  *ppppppcVar26 = (code *****)ppppcStack_124;\n                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;\n                  ppppppcVar26 = ppppppcVar26 + 1;\n                }" ({ "{") (expression_statement "iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);" (assignment_expression "iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24)" (identifier "iVar6") (= "=") (call_expression "(*pcVar40)(iStack_138 + iVar4,puVar24)" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "(iStack_138 + iVar4,puVar24)" (( "(") (binary_expression "iStack_138 + iVar4" (identifier "iStack_138") (+ "+") (identifier "iVar4")) (, ",") (identifier "puVar24") () ")")))) (; ";")) (expression_statement "iVar4 = iVar4 + iVar6;" (assignment_expression "iVar4 = iVar4 + iVar6" (identifier "iVar4") (= "=") (binary_expression "iVar4 + iVar6" (identifier "iVar4") (+ "+") (identifier "iVar6"))) (; ";")) (expression_statement "ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);" (assignment_expression "ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1)" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)((int)ppppppcVar31 + 1)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppcVar31 + 1)" (( "(") (binary_expression "(int)ppppppcVar31 + 1" (cast_expression "(int)ppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar31")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*ppppppcVar26 = (code *****)ppppcStack_124;" (assignment_expression "*ppppppcVar26 = (code *****)ppppcStack_124" (pointer_expression "*ppppppcVar26" (* "*") (identifier "ppppppcVar26")) (= "=") (cast_expression "(code *****)ppppcStack_124" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppcStack_124"))) (; ";")) (if_statement "if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;" (if "if") (parenthesized_expression "(ppppppcVar21 == ppppppcVar31)" (( "(") (binary_expression "ppppppcVar21 == ppppppcVar31" (identifier "ppppppcVar21") (== "==") (identifier "ppppppcVar31")) () ")")) (goto_statement "goto LAB_00107790;" (goto "goto") (statement_identifier "LAB_00107790") (; ";"))) (expression_statement "ppppppcVar26 = ppppppcVar26 + 1;" (assignment_expression "ppppppcVar26 = ppppppcVar26 + 1" (identifier "ppppppcVar26") (= "=") (binary_expression "ppppppcVar26 + 1" (identifier "ppppppcVar26") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 < iStack_134)" (( "(") (binary_expression "iVar4 < iStack_134" (identifier "iVar4") (< "<") (identifier "iStack_134")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_001079ec:\n              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;" (statement_identifier "LAB_001079ec") (: ":") (expression_statement "ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;" (assignment_expression "ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31" (identifier "ppppppcVar26") (= "=") (binary_expression "ppppppcVar35 + (int)ppppppcVar31" (identifier "ppppppcVar35") (+ "+") (cast_expression "(int)ppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar31")))) (; ";"))) (do_statement "do {\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              } while ((int)ppppppcVar31 < (int)ppppppcVar21);" (do "do") (compound_statement "{\n                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);\n                *ppppppcVar26 = (code *****)0x0;\n                ppppppcVar26 = ppppppcVar26 + 1;\n              }" ({ "{") (expression_statement "ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);" (assignment_expression "ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1)" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)((int)ppppppcVar31 + 1)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppcVar31 + 1)" (( "(") (binary_expression "(int)ppppppcVar31 + 1" (cast_expression "(int)ppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar31")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*ppppppcVar26 = (code *****)0x0;" (assignment_expression "*ppppppcVar26 = (code *****)0x0" (pointer_expression "*ppppppcVar26" (* "*") (identifier "ppppppcVar26")) (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar26 = ppppppcVar26 + 1;" (assignment_expression "ppppppcVar26 = ppppppcVar26 + 1" (identifier "ppppppcVar26") (= "=") (binary_expression "ppppppcVar26 + 1" (identifier "ppppppcVar26") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)ppppppcVar31 < (int)ppppppcVar21)" (( "(") (binary_expression "(int)ppppppcVar31 < (int)ppppppcVar21" (cast_expression "(int)ppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar31")) (< "<") (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21"))) () ")")) (; ";")) (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7f68);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7f68)" (identifier "pcVar40") (= "=") (pointer_expression "*(code **)(pcStack_148 + -0x7f68)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7f68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7f68)" (( "(") (binary_expression "pcStack_148 + -0x7f68" (identifier "pcStack_148") (+ "+") (number_literal "-0x7f68")) () ")"))))) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }" (else "else") (compound_statement "{\n          ppppppcVar33 = unaff_s7;\n          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);\nLAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);\n        }" ({ "{") (expression_statement "ppppppcVar33 = unaff_s7;" (assignment_expression "ppppppcVar33 = unaff_s7" (identifier "ppppppcVar33") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "(**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);" (call_expression "(**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7bfc))" (( "(") (pointer_expression "**(code **)(pcStack_148 + -0x7bfc)" (* "*") (pointer_expression "*(code **)(pcStack_148 + -0x7bfc)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7bfc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7bfc)" (( "(") (binary_expression "pcStack_148 + -0x7bfc" (identifier "pcStack_148") (+ "+") (number_literal "-0x7bfc")) () ")"))))) () ")")) (argument_list "(ppppppcVar35,0)" (( "(") (identifier "ppppppcVar35") (, ",") (number_literal "0") () ")"))) (; ";")) (labeled_statement "LAB_00107790:\n          pcVar40 = *(code **)(pcStack_148 + -0x7f68);" (statement_identifier "LAB_00107790") (: ":") (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7f68);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7f68)" (identifier "pcVar40") (= "=") (pointer_expression "*(code **)(pcStack_148 + -0x7f68)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7f68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7f68)" (( "(") (binary_expression "pcStack_148 + -0x7f68" (identifier "pcStack_148") (+ "+") (number_literal "-0x7f68")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);" (assignment_expression "unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c)" (identifier "unaff_s8") (= "=") (cast_expression "(code ******)(*pcVar40)(ppppcStack_12c)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(*pcVar40)(ppppcStack_12c)" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "(ppppcStack_12c)" (( "(") (identifier "ppppcStack_12c") () ")"))))) (; ";")) (if_statement "if (unaff_s8 == (code ******)0x0) {\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }" (if "if") (parenthesized_expression "(unaff_s8 == (code ******)0x0)" (( "(") (binary_expression "unaff_s8 == (code ******)0x0" (identifier "unaff_s8") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }\n          *ppppppcVar35 = pppppcVar25;\n          ppppppcVar31 = ppppppcVar35 + 1;\n          if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }\nLAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;\n          ppppppcVar31 = (code ******)0x0;\n          ppppppcVar33 = ppppppcVar35;\n          if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }\n          ppppppcVar23 = (code ******)0x0;\n          ppppppcVar33 = (code ******)pppppcStack_140;\n          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);\n          unaff_s5 = ppppppcVar38;\n          unaff_s6 = param_4;\n          if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }\n          goto LAB_0010767c;\n        }" ({ "{") (if_statement "if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {\n            pppppcVar25 = (code *****)0x0;\n          }\n          else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }" (if "if") (parenthesized_expression "((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0))" (( "(") (binary_expression "(iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)" (parenthesized_expression "(iStack_e0 < 0)" (( "(") (binary_expression "iStack_e0 < 0" (identifier "iStack_e0") (< "<") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*ppppppcVar35 < (code *****)-iStack_e0)" (( "(") (binary_expression "*ppppppcVar35 < (code *****)-iStack_e0" (pointer_expression "*ppppppcVar35" (* "*") (identifier "ppppppcVar35")) (< "<") (cast_expression "(code *****)-iStack_e0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (unary_expression "-iStack_e0" (- "-") (identifier "iStack_e0")))) () ")"))) () ")")) (compound_statement "{\n            pppppcVar25 = (code *****)0x0;\n          }" ({ "{") (expression_statement "pppppcVar25 = (code *****)0x0;" (assignment_expression "pppppcVar25 = (code *****)0x0" (identifier "pppppcVar25") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }" (else "else") (compound_statement "{\n            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);\n          }" ({ "{") (expression_statement "pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);" (assignment_expression "pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0)" (identifier "pppppcVar25") (= "=") (cast_expression "(code *****)((int)*ppppppcVar35 + iStack_e0)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)*ppppppcVar35 + iStack_e0)" (( "(") (binary_expression "(int)*ppppppcVar35 + iStack_e0" (cast_expression "(int)*ppppppcVar35" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*ppppppcVar35" (* "*") (identifier "ppppppcVar35"))) (+ "+") (identifier "iStack_e0")) () ")")))) (; ";")) (} "}")))) (expression_statement "*ppppppcVar35 = pppppcVar25;" (assignment_expression "*ppppppcVar35 = pppppcVar25" (pointer_expression "*ppppppcVar35" (* "*") (identifier "ppppppcVar35")) (= "=") (identifier "pppppcVar25")) (; ";")) (expression_statement "ppppppcVar31 = ppppppcVar35 + 1;" (assignment_expression "ppppppcVar31 = ppppppcVar35 + 1" (identifier "ppppppcVar31") (= "=") (binary_expression "ppppppcVar35 + 1" (identifier "ppppppcVar35") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (-1 < (int)ppppppcVar28[6]) {\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }" (if "if") (parenthesized_expression "(-1 < (int)ppppppcVar28[6])" (( "(") (binary_expression "-1 < (int)ppppppcVar28[6]" (number_literal "-1") (< "<") (cast_expression "(int)ppppppcVar28[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar28[6]" (identifier "ppppppcVar28") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n            iVar4 = 0;\n            do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);\n          }" ({ "{") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            } while (iVar4 <= (int)ppppppcVar28[6]);" (do "do") (compound_statement "{\n              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }\n              iVar4 = iVar4 + 1;\n              *ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);\n              ppppppcVar38 = ppppppcVar38 + 1;\n              ppppppcVar31 = ppppppcVar31 + 1;\n              param_4 = param_4 + 1;\n            }" ({ "{") (while_statement "while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }" (while "while") (parenthesized_expression "((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4)" (( "(") (binary_expression "(code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4" (cast_expression "(code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)*ppppppcVar38 + (int)*ppppppcVar31)" (( "(") (binary_expression "(int)*ppppppcVar38 + (int)*ppppppcVar31" (cast_expression "(int)*ppppppcVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*ppppppcVar38" (* "*") (identifier "ppppppcVar38"))) (+ "+") (cast_expression "(int)*ppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*ppppppcVar31" (* "*") (identifier "ppppppcVar31")))) () ")"))) (< "<") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) () ")")) (compound_statement "{\n                iVar4 = iVar4 + 1;\n                *ppppppcVar31 = (code *****)0x0;\n                ppppppcVar38 = ppppppcVar38 + 1;\n                ppppppcVar31 = ppppppcVar31 + 1;\n                param_4 = param_4 + 1;\n                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;\n              }" ({ "{") (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*ppppppcVar31 = (code *****)0x0;" (assignment_expression "*ppppppcVar31 = (code *****)0x0" (pointer_expression "*ppppppcVar31" (* "*") (identifier "ppppppcVar31")) (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar38 = ppppppcVar38 + 1;" (assignment_expression "ppppppcVar38 = ppppppcVar38 + 1" (identifier "ppppppcVar38") (= "=") (binary_expression "ppppppcVar38 + 1" (identifier "ppppppcVar38") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppppppcVar31 = ppppppcVar31 + 1;" (assignment_expression "ppppppcVar31 = ppppppcVar31 + 1" (identifier "ppppppcVar31") (= "=") (binary_expression "ppppppcVar31 + 1" (identifier "ppppppcVar31") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "param_4 = param_4 + 1;" (assignment_expression "param_4 = param_4 + 1" (identifier "param_4") (= "=") (binary_expression "param_4 + 1" (identifier "param_4") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;" (if "if") (parenthesized_expression "((int)ppppppcVar28[6] < iVar4)" (( "(") (binary_expression "(int)ppppppcVar28[6] < iVar4" (cast_expression "(int)ppppppcVar28[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar28[6]" (identifier "ppppppcVar28") ([ "[") (number_literal "6") (] "]"))) (< "<") (identifier "iVar4")) () ")")) (goto_statement "goto LAB_00107834;" (goto "goto") (statement_identifier "LAB_00107834") (; ";"))) (} "}"))) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);" (assignment_expression "*ppppppcVar31 =\n                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4)" (pointer_expression "*ppppppcVar31" (* "*") (identifier "ppppppcVar31")) (= "=") (cast_expression "(code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4)" (( "(") (binary_expression "((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4" (parenthesized_expression "((int)*ppppppcVar38 + (int)*ppppppcVar31)" (( "(") (binary_expression "(int)*ppppppcVar38 + (int)*ppppppcVar31" (cast_expression "(int)*ppppppcVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*ppppppcVar38" (* "*") (identifier "ppppppcVar38"))) (+ "+") (cast_expression "(int)*ppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*ppppppcVar31" (* "*") (identifier "ppppppcVar31")))) () ")")) (- "-") (cast_expression "(int)*param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*param_4" (* "*") (identifier "param_4")))) () ")")))) (; ";")) (expression_statement "ppppppcVar38 = ppppppcVar38 + 1;" (assignment_expression "ppppppcVar38 = ppppppcVar38 + 1" (identifier "ppppppcVar38") (= "=") (binary_expression "ppppppcVar38 + 1" (identifier "ppppppcVar38") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppppppcVar31 = ppppppcVar31 + 1;" (assignment_expression "ppppppcVar31 = ppppppcVar31 + 1" (identifier "ppppppcVar31") (= "=") (binary_expression "ppppppcVar31 + 1" (identifier "ppppppcVar31") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "param_4 = param_4 + 1;" (assignment_expression "param_4 = param_4 + 1" (identifier "param_4") (= "=") (binary_expression "param_4 + 1" (identifier "param_4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 <= (int)ppppppcVar28[6])" (( "(") (binary_expression "iVar4 <= (int)ppppppcVar28[6]" (identifier "iVar4") (<= "<=") (cast_expression "(int)ppppppcVar28[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar28[6]" (identifier "ppppppcVar28") ([ "[") (number_literal "6") (] "]")))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_00107834:\n          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;" (statement_identifier "LAB_00107834") (: ":") (expression_statement "unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;" (assignment_expression "unaff_s7 = ppppppcVar35 + (int)ppppppcVar21" (identifier "unaff_s7") (= "=") (binary_expression "ppppppcVar35 + (int)ppppppcVar21" (identifier "ppppppcVar35") (+ "+") (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21")))) (; ";"))) (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar33 = ppppppcVar35;" (assignment_expression "ppppppcVar33 = ppppppcVar35" (identifier "ppppppcVar33") (= "=") (identifier "ppppppcVar35")) (; ";")) (if_statement "if (0 < (int)ppppppcVar21) {\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }" (if "if") (parenthesized_expression "(0 < (int)ppppppcVar21)" (( "(") (binary_expression "0 < (int)ppppppcVar21" (number_literal "0") (< "<") (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21"))) () ")")) (compound_statement "{\n            do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);\n          }" ({ "{") (do_statement "do {\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            } while (unaff_s7 != ppppppcVar33);" (do "do") (compound_statement "{\n              pppppcVar25 = *ppppppcVar33;\n              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);\n              do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);\n              ppppppcVar33 = ppppppcVar33 + 1;\n              *pcVar42 = (code)(bVar2 & 0x7f);\n              ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));\n              unaff_s8 = ppppppcVar31;\n            }" ({ "{") (expression_statement "pppppcVar25 = *ppppppcVar33;" (assignment_expression "pppppcVar25 = *ppppppcVar33" (identifier "pppppcVar25") (= "=") (pointer_expression "*ppppppcVar33" (* "*") (identifier "ppppppcVar33"))) (; ";")) (expression_statement "pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);" (assignment_expression "pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31)" (identifier "pcVar40") (= "=") (cast_expression "(code *)((int)unaff_s7 + (int)ppppppcVar31)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7 + (int)ppppppcVar31)" (( "(") (binary_expression "(int)unaff_s7 + (int)ppppppcVar31" (cast_expression "(int)unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s7")) (+ "+") (cast_expression "(int)ppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar31"))) () ")")))) (; ";")) (do_statement "do {\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              } while (pppppcVar29 != (code *****)0x0);" (do "do") (compound_statement "{\n                pcVar42 = pcVar40;\n                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);\n                bVar2 = (byte)pppppcVar25;\n                *pcVar42 = (code)(bVar2 | 0x80);\n                pppppcVar25 = pppppcVar29;\n                pcVar40 = pcVar42 + 1;\n              }" ({ "{") (expression_statement "pcVar42 = pcVar40;" (assignment_expression "pcVar42 = pcVar40" (identifier "pcVar42") (= "=") (identifier "pcVar40")) (; ";")) (expression_statement "pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);" (assignment_expression "pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7)" (identifier "pppppcVar29") (= "=") (cast_expression "(code *****)((uint)pppppcVar25 >> 7)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((uint)pppppcVar25 >> 7)" (( "(") (binary_expression "(uint)pppppcVar25 >> 7" (cast_expression "(uint)pppppcVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppcVar25")) (>> ">>") (number_literal "7")) () ")")))) (; ";")) (expression_statement "bVar2 = (byte)pppppcVar25;" (assignment_expression "bVar2 = (byte)pppppcVar25" (identifier "bVar2") (= "=") (cast_expression "(byte)pppppcVar25" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "pppppcVar25"))) (; ";")) (expression_statement "*pcVar42 = (code)(bVar2 | 0x80);" (assignment_expression "*pcVar42 = (code)(bVar2 | 0x80)" (pointer_expression "*pcVar42" (* "*") (identifier "pcVar42")) (= "=") (call_expression "(code)(bVar2 | 0x80)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "(bVar2 | 0x80)" (( "(") (binary_expression "bVar2 | 0x80" (identifier "bVar2") (| "|") (number_literal "0x80")) () ")")))) (; ";")) (expression_statement "pppppcVar25 = pppppcVar29;" (assignment_expression "pppppcVar25 = pppppcVar29" (identifier "pppppcVar25") (= "=") (identifier "pppppcVar29")) (; ";")) (expression_statement "pcVar40 = pcVar42 + 1;" (assignment_expression "pcVar40 = pcVar42 + 1" (identifier "pcVar40") (= "=") (binary_expression "pcVar42 + 1" (identifier "pcVar42") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppppcVar29 != (code *****)0x0)" (( "(") (binary_expression "pppppcVar29 != (code *****)0x0" (identifier "pppppcVar29") (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "ppppppcVar33 = ppppppcVar33 + 1;" (assignment_expression "ppppppcVar33 = ppppppcVar33 + 1" (identifier "ppppppcVar33") (= "=") (binary_expression "ppppppcVar33 + 1" (identifier "ppppppcVar33") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pcVar42 = (code)(bVar2 & 0x7f);" (assignment_expression "*pcVar42 = (code)(bVar2 & 0x7f)" (pointer_expression "*pcVar42" (* "*") (identifier "pcVar42")) (= "=") (call_expression "(code)(bVar2 & 0x7f)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "(bVar2 & 0x7f)" (( "(") (binary_expression "bVar2 & 0x7f" (identifier "bVar2") (& "&") (number_literal "0x7f")) () ")")))) (; ";")) (expression_statement "ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));" (assignment_expression "ppppppcVar31 = (code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)))" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)\n                             ((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)))" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)))" (( "(") (binary_expression "(int)ppppppcVar31 +\n                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31))" (cast_expression "(int)ppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar31")) (+ "+") (parenthesized_expression "((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31))" (( "(") (binary_expression "(int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)" (cast_expression "(int)(pcVar42 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pcVar42 + 1)" (( "(") (binary_expression "pcVar42 + 1" (identifier "pcVar42") (+ "+") (number_literal "1")) () ")"))) (- "-") (parenthesized_expression "((int)unaff_s7 + (int)ppppppcVar31)" (( "(") (binary_expression "(int)unaff_s7 + (int)ppppppcVar31" (cast_expression "(int)unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s7")) (+ "+") (cast_expression "(int)ppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar31"))) () ")"))) () ")"))) () ")")))) (; ";")) (expression_statement "unaff_s8 = ppppppcVar31;" (assignment_expression "unaff_s8 = ppppppcVar31" (identifier "unaff_s8") (= "=") (identifier "ppppppcVar31")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(unaff_s7 != ppppppcVar33)" (( "(") (binary_expression "unaff_s7 != ppppppcVar33" (identifier "unaff_s7") (!= "!=") (identifier "ppppppcVar33")) () ")")) (; ";")) (} "}"))) (expression_statement "ppppppcVar23 = (code ******)0x0;" (assignment_expression "ppppppcVar23 = (code ******)0x0" (identifier "ppppppcVar23") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar33 = (code ******)pppppcStack_140;" (assignment_expression "ppppppcVar33 = (code ******)pppppcStack_140" (identifier "ppppppcVar33") (= "=") (cast_expression "(code ******)pppppcStack_140" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_140"))) (; ";")) (expression_statement "ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);" (assignment_expression "ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17)" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)(*pcStack_13c)(ppppppcVar28,0x17)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(*pcStack_13c)(ppppppcVar28,0x17)" (parenthesized_expression "(*pcStack_13c)" (( "(") (pointer_expression "*pcStack_13c" (* "*") (identifier "pcStack_13c")) () ")")) (argument_list "(ppppppcVar28,0x17)" (( "(") (identifier "ppppppcVar28") (, ",") (number_literal "0x17") () ")"))))) (; ";")) (expression_statement "unaff_s5 = ppppppcVar38;" (assignment_expression "unaff_s5 = ppppppcVar38" (identifier "unaff_s5") (= "=") (identifier "ppppppcVar38")) (; ";")) (expression_statement "unaff_s6 = param_4;" (assignment_expression "unaff_s6 = param_4" (identifier "unaff_s6") (= "=") (identifier "param_4")) (; ";")) (if_statement "if (ppppppcVar31 == (code ******)0x0) {\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }\n          else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }" (if "if") (parenthesized_expression "(ppppppcVar31 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar31 == (code ******)0x0" (identifier "ppppppcVar31") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);\n            uStack_150 = 0;\n            ppppppcVar33 = unaff_s7;\n            ppppppcVar23 = unaff_s8;\n            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);\n            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);\n            pcVar40 = *(code **)(pcStack_148 + -0x7dac);\n            *ppppppcVar32 = pppppcVar25;\n            (*pcVar40)(ppppcStack_12c,2);\n            (**(code **)(pcStack_148 + -0x7f90))();\n          }" ({ "{") (expression_statement "(**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);" (call_expression "(**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7d0c))" (( "(") (pointer_expression "**(code **)(pcStack_148 + -0x7d0c)" (* "*") (pointer_expression "*(code **)(pcStack_148 + -0x7d0c)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7d0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7d0c)" (( "(") (binary_expression "pcStack_148 + -0x7d0c" (identifier "pcStack_148") (+ "+") (number_literal "-0x7d0c")) () ")"))))) () ")")) (argument_list "(ppppcStack_12c,1,0)" (( "(") (identifier "ppppcStack_12c") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uStack_150 = 0;" (assignment_expression "uStack_150 = 0" (identifier "uStack_150") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppppppcVar33 = unaff_s7;" (assignment_expression "ppppppcVar33 = unaff_s7" (identifier "ppppppcVar33") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "ppppppcVar23 = unaff_s8;" (assignment_expression "ppppppcVar23 = unaff_s8" (identifier "ppppppcVar23") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "(**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);" (call_expression "(**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7db4))" (( "(") (pointer_expression "**(code **)(pcStack_148 + -0x7db4)" (* "*") (pointer_expression "*(code **)(pcStack_148 + -0x7db4)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7db4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7db4)" (( "(") (binary_expression "pcStack_148 + -0x7db4" (identifier "pcStack_148") (+ "+") (number_literal "-0x7db4")) () ")"))))) () ")")) (argument_list "(ppppcStack_12c,2)" (( "(") (identifier "ppppcStack_12c") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);" (call_expression "(**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f80))" (( "(") (pointer_expression "**(code **)(pcStack_148 + -0x7f80)" (* "*") (pointer_expression "*(code **)(pcStack_148 + -0x7f80)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7f80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7f80)" (( "(") (binary_expression "pcStack_148 + -0x7f80" (identifier "pcStack_148") (+ "+") (number_literal "-0x7f80")) () ")"))))) () ")")) (argument_list "(ppppcStack_12c)" (( "(") (identifier "ppppcStack_12c") () ")"))) (; ";")) (expression_statement "pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);" (assignment_expression "pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c)" (identifier "pppppcVar25") (= "=") (cast_expression "(code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c)" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f68))" (( "(") (pointer_expression "**(code **)(pcStack_148 + -0x7f68)" (* "*") (pointer_expression "*(code **)(pcStack_148 + -0x7f68)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7f68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7f68)" (( "(") (binary_expression "pcStack_148 + -0x7f68" (identifier "pcStack_148") (+ "+") (number_literal "-0x7f68")) () ")"))))) () ")")) (argument_list "(ppppcStack_12c)" (( "(") (identifier "ppppcStack_12c") () ")"))))) (; ";")) (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7dac);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7dac)" (identifier "pcVar40") (= "=") (pointer_expression "*(code **)(pcStack_148 + -0x7dac)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7dac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7dac)" (( "(") (binary_expression "pcStack_148 + -0x7dac" (identifier "pcStack_148") (+ "+") (number_literal "-0x7dac")) () ")"))))) (; ";")) (expression_statement "*ppppppcVar32 = pppppcVar25;" (assignment_expression "*ppppppcVar32 = pppppcVar25" (pointer_expression "*ppppppcVar32" (* "*") (identifier "ppppppcVar32")) (= "=") (identifier "pppppcVar25")) (; ";")) (expression_statement "(*pcVar40)(ppppcStack_12c,2);" (call_expression "(*pcVar40)(ppppcStack_12c,2)" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "(ppppcStack_12c,2)" (( "(") (identifier "ppppcStack_12c") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_148 + -0x7f90))();" (call_expression "(**(code **)(pcStack_148 + -0x7f90))()" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f90))" (( "(") (pointer_expression "**(code **)(pcStack_148 + -0x7f90)" (* "*") (pointer_expression "*(code **)(pcStack_148 + -0x7f90)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7f90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7f90)" (( "(") (binary_expression "pcStack_148 + -0x7f90" (identifier "pcStack_148") (+ "+") (number_literal "-0x7f90")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }" (else "else") (compound_statement "{\n            pppppcStack_140 = (code *****)ppppppcVar31;\n            (**(code **)(pcStack_148 + -0x7f90))();\n            *ppppppcVar32 = pppppcStack_140;\n          }" ({ "{") (expression_statement "pppppcStack_140 = (code *****)ppppppcVar31;" (assignment_expression "pppppcStack_140 = (code *****)ppppppcVar31" (identifier "pppppcStack_140") (= "=") (cast_expression "(code *****)ppppppcVar31" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar31"))) (; ";")) (expression_statement "(**(code **)(pcStack_148 + -0x7f90))();" (call_expression "(**(code **)(pcStack_148 + -0x7f90))()" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f90))" (( "(") (pointer_expression "**(code **)(pcStack_148 + -0x7f90)" (* "*") (pointer_expression "*(code **)(pcStack_148 + -0x7f90)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7f90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7f90)" (( "(") (binary_expression "pcStack_148 + -0x7f90" (identifier "pcStack_148") (+ "+") (number_literal "-0x7f90")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*ppppppcVar32 = pppppcStack_140;" (assignment_expression "*ppppppcVar32 = pppppcStack_140" (pointer_expression "*ppppppcVar32" (* "*") (identifier "ppppppcVar32")) (= "=") (identifier "pppppcStack_140")) (; ";")) (} "}")))) (goto_statement "goto LAB_0010767c;" (goto "goto") (statement_identifier "LAB_0010767c") (; ";")) (} "}"))) (} "}"))) (expression_statement "(**(code **)(pcStack_148 + -0x7f90))();" (call_expression "(**(code **)(pcStack_148 + -0x7f90))()" (parenthesized_expression "(**(code **)(pcStack_148 + -0x7f90))" (( "(") (pointer_expression "**(code **)(pcStack_148 + -0x7f90)" (* "*") (pointer_expression "*(code **)(pcStack_148 + -0x7f90)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7f90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7f90)" (( "(") (binary_expression "pcStack_148 + -0x7f90" (identifier "pcStack_148") (+ "+") (number_literal "-0x7f90")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*ppppppcVar32 = (code *****)unaff_s8;" (assignment_expression "*ppppppcVar32 = (code *****)unaff_s8" (pointer_expression "*ppppppcVar32" (* "*") (identifier "ppppppcVar32")) (= "=") (cast_expression "(code *****)unaff_s8" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s8"))) (; ";")) (} "}")))) (} "}"))) (labeled_statement "LAB_0010767c:\n  if ((code ******)pppppcStack_11c == (code ******)*piVar27) {\n    return (code ******)*piVar27;\n  }" (statement_identifier "LAB_0010767c") (: ":") (if_statement "if ((code ******)pppppcStack_11c == (code ******)*piVar27) {\n    return (code ******)*piVar27;\n  }" (if "if") (parenthesized_expression "((code ******)pppppcStack_11c == (code ******)*piVar27)" (( "(") (binary_expression "(code ******)pppppcStack_11c == (code ******)*piVar27" (cast_expression "(code ******)pppppcStack_11c" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_11c")) (== "==") (cast_expression "(code ******)*piVar27" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*piVar27" (* "*") (identifier "piVar27")))) () ")")) (compound_statement "{\n    return (code ******)*piVar27;\n  }" ({ "{") (return_statement "return (code ******)*piVar27;" (return "return") (cast_expression "(code ******)*piVar27" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*piVar27" (* "*") (identifier "piVar27"))) (; ";")) (} "}")))) (expression_statement "pcVar40 = *(code **)(pcStack_148 + -0x7ba0);" (assignment_expression "pcVar40 = *(code **)(pcStack_148 + -0x7ba0)" (identifier "pcVar40") (= "=") (pointer_expression "*(code **)(pcStack_148 + -0x7ba0)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7ba0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7ba0)" (( "(") (binary_expression "pcStack_148 + -0x7ba0" (identifier "pcStack_148") (+ "+") (number_literal "-0x7ba0")) () ")"))))) (; ";")) (expression_statement "pcVar42 = FUN_00107a84;" (assignment_expression "pcVar42 = FUN_00107a84" (identifier "pcVar42") (= "=") (identifier "FUN_00107a84")) (; ";")) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_190 = pcVar40 + 0x5bb2c;" (assignment_expression "pcStack_190 = pcVar40 + 0x5bb2c" (identifier "pcStack_190") (= "=") (binary_expression "pcVar40 + 0x5bb2c" (identifier "pcVar40") (+ "+") (number_literal "0x5bb2c"))) (; ";")) (expression_statement "puVar30 = *(uint **)(pcVar40 + 0x53fa8);" (assignment_expression "puVar30 = *(uint **)(pcVar40 + 0x53fa8)" (identifier "puVar30") (= "=") (pointer_expression "*(uint **)(pcVar40 + 0x53fa8)" (* "*") (cast_expression "(uint **)(pcVar40 + 0x53fa8)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 0x53fa8)" (( "(") (binary_expression "pcVar40 + 0x53fa8" (identifier "pcVar40") (+ "+") (number_literal "0x53fa8")) () ")"))))) (; ";")) (expression_statement "ppppcStack_184 = (code ****)*puVar30;" (assignment_expression "ppppcStack_184 = (code ****)*puVar30" (identifier "ppppcStack_184") (= "=") (cast_expression "(code ****)*puVar30" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "*puVar30" (* "*") (identifier "puVar30")))) (; ";")) (expression_statement "piStack_17c = piVar27;" (assignment_expression "piStack_17c = piVar27" (identifier "piStack_17c") (= "=") (identifier "piVar27")) (; ";")) (expression_statement "pppppcStack_178 = (code *****)ppppppcVar32;" (assignment_expression "pppppcStack_178 = (code *****)ppppppcVar32" (identifier "pppppcStack_178") (= "=") (cast_expression "(code *****)ppppppcVar32" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar32"))) (; ";")) (expression_statement "pppppcStack_174 = (code *****)ppppppcVar35;" (assignment_expression "pppppcStack_174 = (code *****)ppppppcVar35" (identifier "pppppcStack_174") (= "=") (cast_expression "(code *****)ppppppcVar35" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar35"))) (; ";")) (expression_statement "pppppcStack_170 = (code *****)ppppppcVar17;" (assignment_expression "pppppcStack_170 = (code *****)ppppppcVar17" (identifier "pppppcStack_170") (= "=") (cast_expression "(code *****)ppppppcVar17" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar17"))) (; ";")) (expression_statement "pppppcStack_16c = (code *****)ppppppcVar21;" (assignment_expression "pppppcStack_16c = (code *****)ppppppcVar21" (identifier "pppppcStack_16c") (= "=") (cast_expression "(code *****)ppppppcVar21" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar21"))) (; ";")) (expression_statement "pppppcStack_168 = (code *****)unaff_s5;" (assignment_expression "pppppcStack_168 = (code *****)unaff_s5" (identifier "pppppcStack_168") (= "=") (cast_expression "(code *****)unaff_s5" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s5"))) (; ";")) (expression_statement "pcStack_164 = pcVar42;" (assignment_expression "pcStack_164 = pcVar42" (identifier "pcStack_164") (= "=") (identifier "pcVar42")) (; ";")) (if_statement "if (*(ushort *)(ppppppcVar5 + 1) < 2) {\n    iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);\n    if (iVar4 == 100) {\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }\n    else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }\n  }\n  else {\n    ppppppcVar32 = (code ******)ppppppcVar5[4];\n    pppppcStack_188 = (code *****)0x0;\n    if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }\n    pppppcVar25 = ppppppcVar5[8];\n    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }\n    ppppppcVar31 = (code ******)0x0;\n    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n  }" (if "if") (parenthesized_expression "(*(ushort *)(ppppppcVar5 + 1) < 2)" (( "(") (binary_expression "*(ushort *)(ppppppcVar5 + 1) < 2" (pointer_expression "*(ushort *)(ppppppcVar5 + 1)" (* "*") (cast_expression "(ushort *)(ppppppcVar5 + 1)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppcVar5 + 1)" (( "(") (binary_expression "ppppppcVar5 + 1" (identifier "ppppppcVar5") (+ "+") (number_literal "1")) () ")")))) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n    iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);\n    if (iVar4 == 100) {\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }\n    else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }\n  }" ({ "{") (expression_statement "iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);" (assignment_expression "iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3])" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3])" (parenthesized_expression "(**(code **)(pcVar40 + 0x53bac))" (( "(") (pointer_expression "**(code **)(pcVar40 + 0x53bac)" (* "*") (pointer_expression "*(code **)(pcVar40 + 0x53bac)" (* "*") (cast_expression "(code **)(pcVar40 + 0x53bac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar40 + 0x53bac)" (( "(") (binary_expression "pcVar40 + 0x53bac" (identifier "pcVar40") (+ "+") (number_literal "0x53bac")) () ")"))))) () ")")) (argument_list "(ppppppcVar5[3])" (( "(") (subscript_expression "ppppppcVar5[3]" (identifier "ppppppcVar5") ([ "[") (number_literal "3") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar4 == 100) {\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }\n    else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }" (if "if") (parenthesized_expression "(iVar4 == 100)" (( "(") (binary_expression "iVar4 == 100" (identifier "iVar4") (== "==") (number_literal "100")) () ")")) (compound_statement "{\n      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);\n      ppppppcVar31 = (code ******)0x0;\n      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;\n    }" ({ "{") (expression_statement "uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);" (assignment_expression "uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0)" (identifier "uVar44") (= "=") (call_expression "(**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0)" (parenthesized_expression "(**(code **)(pcStack_190 + -0x7f60))" (( "(") (pointer_expression "**(code **)(pcStack_190 + -0x7f60)" (* "*") (pointer_expression "*(code **)(pcStack_190 + -0x7f60)" (* "*") (cast_expression "(code **)(pcStack_190 + -0x7f60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_190 + -0x7f60)" (( "(") (binary_expression "pcStack_190 + -0x7f60" (identifier "pcStack_190") (+ "+") (number_literal "-0x7f60")) () ")"))))) () ")")) (argument_list "(ppppppcVar5[3],0)" (( "(") (subscript_expression "ppppppcVar5[3]" (identifier "ppppppcVar5") ([ "[") (number_literal "3") (] "]")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined8 *)(ppppppcVar5 + 8) = uVar44;" (assignment_expression "*(undefined8 *)(ppppppcVar5 + 8) = uVar44" (pointer_expression "*(undefined8 *)(ppppppcVar5 + 8)" (* "*") (cast_expression "(undefined8 *)(ppppppcVar5 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppcVar5 + 8)" (( "(") (binary_expression "ppppppcVar5 + 8" (identifier "ppppppcVar5") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar44")) (; ";")) (} "}")) (else_clause "else {\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }" (else "else") (compound_statement "{\n      pcVar40 = *(code **)(pcStack_190 + -0x7f68);\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);\n    }" ({ "{") (expression_statement "pcVar40 = *(code **)(pcStack_190 + -0x7f68);" (assignment_expression "pcVar40 = *(code **)(pcStack_190 + -0x7f68)" (identifier "pcVar40") (= "=") (pointer_expression "*(code **)(pcStack_190 + -0x7f68)" (* "*") (cast_expression "(code **)(pcStack_190 + -0x7f68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_190 + -0x7f68)" (( "(") (binary_expression "pcStack_190 + -0x7f68" (identifier "pcStack_190") (+ "+") (number_literal "-0x7f68")) () ")"))))) (; ";")) (expression_statement "*(code *)((int)ppppppcVar5 + 6) = (code)0x1;" (assignment_expression "*(code *)((int)ppppppcVar5 + 6) = (code)0x1" (pointer_expression "*(code *)((int)ppppppcVar5 + 6)" (* "*") (cast_expression "(code *)((int)ppppppcVar5 + 6)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar5 + 6)" (( "(") (binary_expression "(int)ppppppcVar5 + 6" (cast_expression "(int)ppppppcVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar5")) (+ "+") (number_literal "6")) () ")")))) (= "=") (cast_expression "(code)0x1" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);" (assignment_expression "ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3])" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)(*pcVar40)(ppppppcVar5[3])" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(*pcVar40)(ppppppcVar5[3])" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "(ppppppcVar5[3])" (( "(") (subscript_expression "ppppppcVar5[3]" (identifier "ppppppcVar5") ([ "[") (number_literal "3") (] "]")) () ")"))))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    ppppppcVar32 = (code ******)ppppppcVar5[4];\n    pppppcStack_188 = (code *****)0x0;\n    if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }\n    pppppcVar25 = ppppppcVar5[8];\n    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }\n    ppppppcVar31 = (code ******)0x0;\n    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n  }" (else "else") (compound_statement "{\n    ppppppcVar32 = (code ******)ppppppcVar5[4];\n    pppppcStack_188 = (code *****)0x0;\n    if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }\n    pppppcVar25 = ppppppcVar5[8];\n    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }\n    ppppppcVar31 = (code ******)0x0;\n    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n  }" ({ "{") (expression_statement "ppppppcVar32 = (code ******)ppppppcVar5[4];" (assignment_expression "ppppppcVar32 = (code ******)ppppppcVar5[4]" (identifier "ppppppcVar32") (= "=") (cast_expression "(code ******)ppppppcVar5[4]" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppcVar5[4]" (identifier "ppppppcVar5") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "pppppcStack_188 = (code *****)0x0;" (assignment_expression "pppppcStack_188 = (code *****)0x0" (identifier "pppppcStack_188") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (ppppppcVar32 == (code ******)0x0) {\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }\n    else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }" (if "if") (parenthesized_expression "(ppppppcVar32 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar32 == (code ******)0x0" (identifier "ppppppcVar32") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;\n    }" ({ "{") (expression_statement "*(code *)((int)ppppppcVar5 + 6) = (code)0x1;" (assignment_expression "*(code *)((int)ppppppcVar5 + 6) = (code)0x1" (pointer_expression "*(code *)((int)ppppppcVar5 + 6)" (* "*") (cast_expression "(code *)((int)ppppppcVar5 + 6)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar5 + 6)" (( "(") (binary_expression "(int)ppppppcVar5 + 6" (cast_expression "(int)ppppppcVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar5")) (+ "+") (number_literal "6")) () ")")))) (= "=") (cast_expression "(code)0x1" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else {\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }" (else "else") (compound_statement "{\n      iVar4 = *(int *)(pcVar40 + 0x53c4c);\n      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);\n      do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));\n      ppppppcVar31 = (code ******)pppppcStack_188;\n      ppppppcVar17 = &pppppcStack_188;\n      ppppppcVar21 = (code ******)(iVar4 + 0x5348);\n      unaff_s5 = ppppppcVar38;\n      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;\n    }" ({ "{") (expression_statement "iVar4 = *(int *)(pcVar40 + 0x53c4c);" (assignment_expression "iVar4 = *(int *)(pcVar40 + 0x53c4c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar40 + 0x53c4c)" (* "*") (cast_expression "(int *)(pcVar40 + 0x53c4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar40 + 0x53c4c)" (( "(") (binary_expression "pcVar40 + 0x53c4c" (identifier "pcVar40") (+ "+") (number_literal "0x53c4c")) () ")"))))) (; ";")) (expression_statement "ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);" (assignment_expression "ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888)" (identifier "ppppppcVar38") (= "=") (cast_expression "(code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(*(int *)(pcVar40 + 0x53c74) + 0x6888)" (( "(") (binary_expression "*(int *)(pcVar40 + 0x53c74) + 0x6888" (pointer_expression "*(int *)(pcVar40 + 0x53c74)" (* "*") (cast_expression "(int *)(pcVar40 + 0x53c74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar40 + 0x53c74)" (( "(") (binary_expression "pcVar40 + 0x53c74" (identifier "pcVar40") (+ "+") (number_literal "0x53c74")) () ")")))) (+ "+") (number_literal "0x6888")) () ")")))) (; ";")) (do_statement "do {\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      } while ((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));" (do "do") (compound_statement "{\n        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }\n        if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }\n        cVar20 = *(code *)(ppppppcVar32 + 8);\n        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;\n        *(code *)((int)ppppppcVar5 + 6) = cVar20;\n        ppppppcVar5[0x16] = (code *****)0x1;\n        pppppcVar25 = ppppppcVar32[6];\n        ppppppcVar5[9] = ppppppcVar32[7];\n        ppppppcVar5[8] = pppppcVar25;\n      }" ({ "{") (if_statement "if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }" (if "if") (parenthesized_expression "(*(code *)((int)ppppppcVar5 + 7) == (code)0x0)" (( "(") (binary_expression "*(code *)((int)ppppppcVar5 + 7) == (code)0x0" (pointer_expression "*(code *)((int)ppppppcVar5 + 7)" (* "*") (cast_expression "(code *)((int)ppppppcVar5 + 7)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar5 + 7)" (( "(") (binary_expression "(int)ppppppcVar5 + 7" (cast_expression "(int)ppppppcVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar5")) (+ "+") (number_literal "7")) () ")")))) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);\n        }" ({ "{") (expression_statement "(**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);" (call_expression "(**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3])" (parenthesized_expression "(**(code **)(pcStack_190 + -0x7f68))" (( "(") (pointer_expression "**(code **)(pcStack_190 + -0x7f68)" (* "*") (pointer_expression "*(code **)(pcStack_190 + -0x7f68)" (* "*") (cast_expression "(code **)(pcStack_190 + -0x7f68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_190 + -0x7f68)" (( "(") (binary_expression "pcStack_190 + -0x7f68" (identifier "pcStack_190") (+ "+") (number_literal "-0x7f68")) () ")"))))) () ")")) (argument_list "(ppppppcVar5[3])" (( "(") (subscript_expression "ppppppcVar5[3]" (identifier "ppppppcVar5") ([ "[") (number_literal "3") (] "]")) () ")"))) (; ";")) (} "}"))) (if_statement "if ((code ******)pppppcStack_188 == (code ******)0x0) {\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }" (if "if") (parenthesized_expression "((code ******)pppppcStack_188 == (code ******)0x0)" (( "(") (binary_expression "(code ******)pppppcStack_188 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_188" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_188")) (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          ppppppcVar33 = &pppppcStack_188;\n          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);\n        }" ({ "{") (expression_statement "ppppppcVar33 = &pppppcStack_188;" (assignment_expression "ppppppcVar33 = &pppppcStack_188" (identifier "ppppppcVar33") (= "=") (pointer_expression "&pppppcStack_188" (& "&") (identifier "pppppcStack_188"))) (; ";")) (expression_statement "(*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);" (call_expression "(*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32)" (parenthesized_expression "(*(code *)ppppppcVar38)" (( "(") (pointer_expression "*(code *)ppppppcVar38" (* "*") (cast_expression "(code *)ppppppcVar38" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppcVar38"))) () ")")) (argument_list "(ppppppcVar5,ppppppcVar32)" (( "(") (identifier "ppppppcVar5") (, ",") (identifier "ppppppcVar32") () ")"))) (; ";")) (} "}"))) (expression_statement "cVar20 = *(code *)(ppppppcVar32 + 8);" (assignment_expression "cVar20 = *(code *)(ppppppcVar32 + 8)" (identifier "cVar20") (= "=") (pointer_expression "*(code *)(ppppppcVar32 + 8)" (* "*") (cast_expression "(code *)(ppppppcVar32 + 8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppcVar32 + 8)" (( "(") (binary_expression "ppppppcVar32 + 8" (identifier "ppppppcVar32") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(code *)((int)ppppppcVar5 + 7) = (code)0x1;" (assignment_expression "*(code *)((int)ppppppcVar5 + 7) = (code)0x1" (pointer_expression "*(code *)((int)ppppppcVar5 + 7)" (* "*") (cast_expression "(code *)((int)ppppppcVar5 + 7)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar5 + 7)" (( "(") (binary_expression "(int)ppppppcVar5 + 7" (cast_expression "(int)ppppppcVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar5")) (+ "+") (number_literal "7")) () ")")))) (= "=") (cast_expression "(code)0x1" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "*(code *)((int)ppppppcVar5 + 6) = cVar20;" (assignment_expression "*(code *)((int)ppppppcVar5 + 6) = cVar20" (pointer_expression "*(code *)((int)ppppppcVar5 + 6)" (* "*") (cast_expression "(code *)((int)ppppppcVar5 + 6)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar5 + 6)" (( "(") (binary_expression "(int)ppppppcVar5 + 6" (cast_expression "(int)ppppppcVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar5")) (+ "+") (number_literal "6")) () ")")))) (= "=") (identifier "cVar20")) (; ";")) (expression_statement "ppppppcVar5[0x16] = (code *****)0x1;" (assignment_expression "ppppppcVar5[0x16] = (code *****)0x1" (subscript_expression "ppppppcVar5[0x16]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x16") (] "]")) (= "=") (cast_expression "(code *****)0x1" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pppppcVar25 = ppppppcVar32[6];" (assignment_expression "pppppcVar25 = ppppppcVar32[6]" (identifier "pppppcVar25") (= "=") (subscript_expression "ppppppcVar32[6]" (identifier "ppppppcVar32") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "ppppppcVar5[9] = ppppppcVar32[7];" (assignment_expression "ppppppcVar5[9] = ppppppcVar32[7]" (subscript_expression "ppppppcVar5[9]" (identifier "ppppppcVar5") ([ "[") (number_literal "9") (] "]")) (= "=") (subscript_expression "ppppppcVar32[7]" (identifier "ppppppcVar32") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "ppppppcVar5[8] = pppppcVar25;" (assignment_expression "ppppppcVar5[8] = pppppcVar25" (subscript_expression "ppppppcVar5[8]" (identifier "ppppppcVar5") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "pppppcVar25")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0))" (( "(") (binary_expression "(cVar20 == (code)0x0) &&\n              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0)" (parenthesized_expression "(cVar20 == (code)0x0)" (( "(") (binary_expression "cVar20 == (code)0x0" (identifier "cVar20") (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0)" (( "(") (comma_expression "iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0" (assignment_expression "iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188)" (identifier "iVar6") (= "=") (call_expression "FUN_00105348(ppppppcVar5,&pppppcStack_188)" (identifier "FUN_00105348") (argument_list "(ppppppcVar5,&pppppcStack_188)" (( "(") (identifier "ppppppcVar5") (, ",") (pointer_expression "&pppppcStack_188" (& "&") (identifier "pppppcStack_188")) () ")")))) (, ",") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (; ";")) (expression_statement "ppppppcVar31 = (code ******)pppppcStack_188;" (assignment_expression "ppppppcVar31 = (code ******)pppppcStack_188" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)pppppcStack_188" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_188"))) (; ";")) (expression_statement "ppppppcVar17 = &pppppcStack_188;" (assignment_expression "ppppppcVar17 = &pppppcStack_188" (identifier "ppppppcVar17") (= "=") (pointer_expression "&pppppcStack_188" (& "&") (identifier "pppppcStack_188"))) (; ";")) (expression_statement "ppppppcVar21 = (code ******)(iVar4 + 0x5348);" (assignment_expression "ppppppcVar21 = (code ******)(iVar4 + 0x5348)" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)(iVar4 + 0x5348)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(iVar4 + 0x5348)" (( "(") (binary_expression "iVar4 + 0x5348" (identifier "iVar4") (+ "+") (number_literal "0x5348")) () ")")))) (; ";")) (expression_statement "unaff_s5 = ppppppcVar38;" (assignment_expression "unaff_s5 = ppppppcVar38" (identifier "unaff_s5") (= "=") (identifier "ppppppcVar38")) (; ";")) (if_statement "if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;" (if "if") (parenthesized_expression "((code ******)pppppcStack_188 != (code ******)0x0)" (( "(") (binary_expression "(code ******)pppppcStack_188 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_188" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_188")) (!= "!=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00107b8c;" (goto "goto") (statement_identifier "LAB_00107b8c") (; ";"))) (} "}")))) (expression_statement "pppppcVar25 = ppppppcVar5[8];" (assignment_expression "pppppcVar25 = ppppppcVar5[8]" (identifier "pppppcVar25") (= "=") (subscript_expression "ppppppcVar5[8]" (identifier "ppppppcVar5") ([ "[") (number_literal "8") (] "]"))) (; ";")) (if_statement "if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }\n    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }" (if "if") (parenthesized_expression "(*(code *)(ppppppcVar5 + 0xd) == (code)0x0)" (( "(") (binary_expression "*(code *)(ppppppcVar5 + 0xd) == (code)0x0" (pointer_expression "*(code *)(ppppppcVar5 + 0xd)" (* "*") (cast_expression "(code *)(ppppppcVar5 + 0xd)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppcVar5 + 0xd)" (( "(") (binary_expression "ppppppcVar5 + 0xd" (identifier "ppppppcVar5") (+ "+") (number_literal "0xd")) () ")")))) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }\n    }" ({ "{") (if_statement "if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }" (if "if") (parenthesized_expression "((int)pppppcVar25 <= (int)ppppppcVar5[0x14])" (( "(") (binary_expression "(int)pppppcVar25 <= (int)ppppppcVar5[0x14]" (cast_expression "(int)pppppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar25")) (<= "<=") (cast_expression "(int)ppppppcVar5[0x14]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar5[0x14]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x14") (] "]")))) () ")")) (compound_statement "{\n        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;\n        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }\n      }" ({ "{") (if_statement "if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;" (if "if") (parenthesized_expression "(ppppppcVar5[0x14] != pppppcVar25)" (( "(") (binary_expression "ppppppcVar5[0x14] != pppppcVar25" (subscript_expression "ppppppcVar5[0x14]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x14") (] "]")) (!= "!=") (identifier "pppppcVar25")) () ")")) (goto_statement "goto LAB_00107c24;" (goto "goto") (statement_identifier "LAB_00107c24") (; ";"))) (if_statement "if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }" (if "if") (parenthesized_expression "(ppppppcVar5[9] <= ppppppcVar5[0x15])" (( "(") (binary_expression "ppppppcVar5[9] <= ppppppcVar5[0x15]" (subscript_expression "ppppppcVar5[9]" (identifier "ppppppcVar5") ([ "[") (number_literal "9") (] "]")) (<= "<=") (subscript_expression "ppppppcVar5[0x15]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x15") (] "]"))) () ")")) (compound_statement "{\n          ppppppcVar31 = (code ******)0x0;\n          goto LAB_00107b8c;\n        }" ({ "{") (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_00107b8c;" (goto "goto") (statement_identifier "LAB_00107b8c") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }" (else "else") (if_statement "if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }" (if "if") (parenthesized_expression "(((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9]))))" (( "(") (binary_expression "((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&\n            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))" (parenthesized_expression "((int)ppppppcVar5[0x12] <= (int)pppppcVar25)" (( "(") (binary_expression "(int)ppppppcVar5[0x12] <= (int)pppppcVar25" (cast_expression "(int)ppppppcVar5[0x12]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar5[0x12]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x12") (] "]"))) (<= "<=") (cast_expression "(int)pppppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar25"))) () ")")) (&& "&&") (parenthesized_expression "((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))" (( "(") (parenthesized_expression "(ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9]))" (( "(") (binary_expression "ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])" (binary_expression "ppppppcVar5[0x12] != pppppcVar25" (subscript_expression "ppppppcVar5[0x12]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x12") (] "]")) (!= "!=") (identifier "pppppcVar25")) (|| "||") (parenthesized_expression "(ppppppcVar5[0x13] <= ppppppcVar5[9])" (( "(") (binary_expression "ppppppcVar5[0x13] <= ppppppcVar5[9]" (subscript_expression "ppppppcVar5[0x13]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x13") (] "]")) (<= "<=") (subscript_expression "ppppppcVar5[9]" (identifier "ppppppcVar5") ([ "[") (number_literal "9") (] "]"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\nLAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;\n      goto LAB_00107b8c;\n    }" ({ "{") (labeled_statement "LAB_00107c24:\n      ppppppcVar31 = (code ******)0x0;" (statement_identifier "LAB_00107c24") (: ":") (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";"))) (goto_statement "goto LAB_00107b8c;" (goto "goto") (statement_identifier "LAB_00107b8c") (; ";")) (} "}"))))) (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(code *)((int)ppppppcVar5 + 6) = (code)0x1;" (assignment_expression "*(code *)((int)ppppppcVar5 + 6) = (code)0x1" (pointer_expression "*(code *)((int)ppppppcVar5 + 6)" (* "*") (cast_expression "(code *)((int)ppppppcVar5 + 6)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar5 + 6)" (( "(") (binary_expression "(int)ppppppcVar5 + 6" (cast_expression "(int)ppppppcVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar5")) (+ "+") (number_literal "6")) () ")")))) (= "=") (cast_expression "(code)0x1" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x1"))) (; ";")) (} "}")))) (labeled_statement "LAB_00107b8c:\n  if ((code *****)ppppcStack_184 == (code *****)*puVar30) {\n    return ppppppcVar31;\n  }" (statement_identifier "LAB_00107b8c") (: ":") (if_statement "if ((code *****)ppppcStack_184 == (code *****)*puVar30) {\n    return ppppppcVar31;\n  }" (if "if") (parenthesized_expression "((code *****)ppppcStack_184 == (code *****)*puVar30)" (( "(") (binary_expression "(code *****)ppppcStack_184 == (code *****)*puVar30" (cast_expression "(code *****)ppppcStack_184" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppcStack_184")) (== "==") (cast_expression "(code *****)*puVar30" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "*puVar30" (* "*") (identifier "puVar30")))) () ")")) (compound_statement "{\n    return ppppppcVar31;\n  }" ({ "{") (return_statement "return ppppppcVar31;" (return "return") (identifier "ppppppcVar31") (; ";")) (} "}")))) (expression_statement "pcVar42 = *(code **)(pcStack_190 + -0x7ba0);" (assignment_expression "pcVar42 = *(code **)(pcStack_190 + -0x7ba0)" (identifier "pcVar42") (= "=") (pointer_expression "*(code **)(pcStack_190 + -0x7ba0)" (* "*") (cast_expression "(code **)(pcStack_190 + -0x7ba0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_190 + -0x7ba0)" (( "(") (binary_expression "pcStack_190 + -0x7ba0" (identifier "pcStack_190") (+ "+") (number_literal "-0x7ba0")) () ")"))))) (; ";")) (expression_statement "pcVar43 = FUN_00107cac;" (assignment_expression "pcVar43 = FUN_00107cac" (identifier "pcVar43") (= "=") (identifier "FUN_00107cac")) (; ";")) (expression_statement "pppppcVar25 = (code *****)ppppcStack_184;" (assignment_expression "pppppcVar25 = (code *****)ppppcStack_184" (identifier "pppppcVar25") (= "=") (cast_expression "(code *****)ppppcStack_184" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppcStack_184"))) (; ";")) (expression_statement "(*pcVar42)();" (call_expression "(*pcVar42)()" (parenthesized_expression "(*pcVar42)" (( "(") (pointer_expression "*pcVar42" (* "*") (identifier "pcVar42")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppppppcVar38 = (code ******)pppppcStack_188;" (assignment_expression "ppppppcVar38 = (code ******)pppppcStack_188" (identifier "ppppppcVar38") (= "=") (cast_expression "(code ******)pppppcStack_188" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_188"))) (; ";")) (expression_statement "pcVar40 = pcStack_190;" (assignment_expression "pcVar40 = pcStack_190" (identifier "pcVar40") (= "=") (identifier "pcStack_190")) (; ";")) (expression_statement "piVar18 = *(int **)(pcVar42 + 0x53d80);" (assignment_expression "piVar18 = *(int **)(pcVar42 + 0x53d80)" (identifier "piVar18") (= "=") (pointer_expression "*(int **)(pcVar42 + 0x53d80)" (* "*") (cast_expression "(int **)(pcVar42 + 0x53d80)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53d80)" (( "(") (binary_expression "pcVar42 + 0x53d80" (identifier "pcVar42") (+ "+") (number_literal "0x53d80")) () ")"))))) (; ";")) (expression_statement "ppppppcVar28 = (code ******)((int)((int)ppppppcVar23 + -2) * 4);" (assignment_expression "ppppppcVar28 = (code ******)((int)((int)ppppppcVar23 + -2) * 4)" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)((int)((int)ppppppcVar23 + -2) * 4)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)((int)ppppppcVar23 + -2) * 4)" (( "(") (binary_expression "(int)((int)ppppppcVar23 + -2) * 4" (cast_expression "(int)((int)ppppppcVar23 + -2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)ppppppcVar23 + -2)" (( "(") (binary_expression "(int)ppppppcVar23 + -2" (cast_expression "(int)ppppppcVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar23")) (+ "+") (number_literal "-2")) () ")"))) (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "pppppcStack_218 = (code *****)0x0;" (assignment_expression "pppppcStack_218 = (code *****)0x0" (identifier "pppppcStack_218") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iStack_1cc = *piVar18;" (assignment_expression "iStack_1cc = *piVar18" (identifier "iStack_1cc") (= "=") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) (; ";")) (expression_statement "cVar1 = *(char *)(*(int *)pcStack_190 + 3);" (assignment_expression "cVar1 = *(char *)(*(int *)pcStack_190 + 3)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(*(int *)pcStack_190 + 3)" (* "*") (cast_expression "(char *)(*(int *)pcStack_190 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)pcStack_190 + 3)" (( "(") (binary_expression "*(int *)pcStack_190 + 3" (pointer_expression "*(int *)pcStack_190" (* "*") (cast_expression "(int *)pcStack_190" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcStack_190"))) (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "ppppcStack_214 = (code ****)0x0;" (assignment_expression "ppppcStack_214 = (code ****)0x0" (identifier "ppppcStack_214") (= "=") (cast_expression "(code ****)0x0" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar26 = ppppppcVar33;" (assignment_expression "ppppppcVar26 = ppppppcVar33" (identifier "ppppppcVar26") (= "=") (identifier "ppppppcVar33")) (; ";")) (expression_statement "ppppppcVar35 = ppppppcVar23;" (assignment_expression "ppppppcVar35 = ppppppcVar23" (identifier "ppppppcVar35") (= "=") (identifier "ppppppcVar23")) (; ";")) (expression_statement "pppppcStack_1c8 = (code *****)ppppppcVar5;" (assignment_expression "pppppcStack_1c8 = (code *****)ppppppcVar5" (identifier "pppppcStack_1c8") (= "=") (cast_expression "(code *****)ppppppcVar5" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar5"))) (; ";")) (expression_statement "pppppcStack_1c4 = (code *****)ppppppcVar32;" (assignment_expression "pppppcStack_1c4 = (code *****)ppppppcVar32" (identifier "pppppcStack_1c4") (= "=") (cast_expression "(code *****)ppppppcVar32" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar32"))) (; ";")) (expression_statement "puStack_1c0 = puVar30;" (assignment_expression "puStack_1c0 = puVar30" (identifier "puStack_1c0") (= "=") (identifier "puVar30")) (; ";")) (expression_statement "pppppcStack_1bc = (code *****)ppppppcVar17;" (assignment_expression "pppppcStack_1bc = (code *****)ppppppcVar17" (identifier "pppppcStack_1bc") (= "=") (cast_expression "(code *****)ppppppcVar17" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar17"))) (; ";")) (expression_statement "pppppcStack_1b8 = (code *****)ppppppcVar21;" (assignment_expression "pppppcStack_1b8 = (code *****)ppppppcVar21" (identifier "pppppcStack_1b8") (= "=") (cast_expression "(code *****)ppppppcVar21" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar21"))) (; ";")) (expression_statement "pppppcStack_1b4 = (code *****)unaff_s5;" (assignment_expression "pppppcStack_1b4 = (code *****)unaff_s5" (identifier "pppppcStack_1b4") (= "=") (cast_expression "(code *****)unaff_s5" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s5"))) (; ";")) (expression_statement "pppppcStack_1b0 = (code *****)unaff_s6;" (assignment_expression "pppppcStack_1b0 = (code *****)unaff_s6" (identifier "pppppcStack_1b0") (= "=") (cast_expression "(code *****)unaff_s6" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s6"))) (; ";")) (expression_statement "pppppcStack_1ac = (code *****)unaff_s7;" (assignment_expression "pppppcStack_1ac = (code *****)unaff_s7" (identifier "pppppcStack_1ac") (= "=") (cast_expression "(code *****)unaff_s7" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s7"))) (; ";")) (expression_statement "pppppcStack_1a8 = (code *****)unaff_s8;" (assignment_expression "pppppcStack_1a8 = (code *****)unaff_s8" (identifier "pppppcStack_1a8") (= "=") (cast_expression "(code *****)unaff_s8" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s8"))) (; ";")) (expression_statement "pcStack_1a4 = pcVar43;" (assignment_expression "pcStack_1a4 = pcVar43" (identifier "pcStack_1a4") (= "=") (identifier "pcVar43")) (; ";")) (expression_statement "pppppcStack_1a0 = (code *****)ppppppcVar31;" (assignment_expression "pppppcStack_1a0 = (code *****)ppppppcVar31" (identifier "pppppcStack_1a0") (= "=") (cast_expression "(code *****)ppppppcVar31" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar31"))) (; ";")) (expression_statement "iVar4 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4));" (assignment_expression "iVar4 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4))" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4))" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d18))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53d18)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53d18)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53d18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53d18)" (( "(") (binary_expression "pcVar42 + 0x53d18" (identifier "pcVar42") (+ "+") (number_literal "0x53d18")) () ")"))))) () ")")) (argument_list "(*(int *)(pcStack_190 + 4))" (( "(") (pointer_expression "*(int *)(pcStack_190 + 4)" (* "*") (cast_expression "(int *)(pcStack_190 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_190 + 4)" (( "(") (binary_expression "pcStack_190 + 4" (identifier "pcStack_190") (+ "+") (number_literal "4")) () ")")))) () ")")))) (; ";")) (expression_statement "iVar6 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8));" (assignment_expression "iVar6 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8))" (identifier "iVar6") (= "=") (call_expression "(**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8))" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d18))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53d18)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53d18)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53d18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53d18)" (( "(") (binary_expression "pcVar42 + 0x53d18" (identifier "pcVar42") (+ "+") (number_literal "0x53d18")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar40 + 8))" (( "(") (pointer_expression "*(int *)(pcVar40 + 8)" (* "*") (cast_expression "(int *)(pcVar40 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar40 + 8)" (( "(") (binary_expression "pcVar40 + 8" (identifier "pcVar40") (+ "+") (number_literal "8")) () ")")))) () ")")))) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar28;" (assignment_expression "ppppppcVar21 = ppppppcVar28" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar28")) (; ";")) (expression_statement "piVar27 = (int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);" (assignment_expression "piVar27 = (int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28)" (identifier "piVar27") (= "=") (cast_expression "(int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53ab4))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53ab4)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53ab4)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53ab4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53ab4)" (( "(") (binary_expression "pcVar42 + 0x53ab4" (identifier "pcVar42") (+ "+") (number_literal "0x53ab4")) () ")"))))) () ")")) (argument_list "(0,ppppppcVar28)" (( "(") (number_literal "0") (, ",") (identifier "ppppppcVar28") () ")"))))) (; ";")) (if_statement "if (piVar27 != (int *)0x0) {\n    ppppppcVar26 = ppppppcVar28;\n    (**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);\n    ppppppcVar21 = ppppppcVar28;\n    iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n    if (iStack_284 != 0) {\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }\n  }" (if "if") (parenthesized_expression "(piVar27 != (int *)0x0)" (( "(") (binary_expression "piVar27 != (int *)0x0" (identifier "piVar27") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    ppppppcVar26 = ppppppcVar28;\n    (**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);\n    ppppppcVar21 = ppppppcVar28;\n    iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);\n    if (iStack_284 != 0) {\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }\n  }" ({ "{") (expression_statement "ppppppcVar26 = ppppppcVar28;" (assignment_expression "ppppppcVar26 = ppppppcVar28" (identifier "ppppppcVar26") (= "=") (identifier "ppppppcVar28")) (; ";")) (expression_statement "(**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);" (call_expression "(**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d08))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53d08)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53d08)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53d08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53d08)" (( "(") (binary_expression "pcVar42 + 0x53d08" (identifier "pcVar42") (+ "+") (number_literal "0x53d08")) () ")"))))) () ")")) (argument_list "(piVar27,0,ppppppcVar28)" (( "(") (identifier "piVar27") (, ",") (number_literal "0") (, ",") (identifier "ppppppcVar28") () ")"))) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar28;" (assignment_expression "ppppppcVar21 = ppppppcVar28" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar28")) (; ";")) (expression_statement "iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);" (assignment_expression "iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28)" (identifier "iStack_284") (= "=") (call_expression "(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53ab4))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53ab4)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53ab4)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53ab4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53ab4)" (( "(") (binary_expression "pcVar42 + 0x53ab4" (identifier "pcVar42") (+ "+") (number_literal "0x53ab4")) () ")"))))) () ")")) (argument_list "(0,ppppppcVar28)" (( "(") (number_literal "0") (, ",") (identifier "ppppppcVar28") () ")")))) (; ";")) (if_statement "if (iStack_284 != 0) {\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }" (if "if") (parenthesized_expression "(iStack_284 != 0)" (( "(") (binary_expression "iStack_284 != 0" (identifier "iStack_284") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      ppppppcVar21 = (code ******)0x0;\n      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);\n      if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }\n      iVar7 = *(int *)(pcVar42 + 0x5393c);\n      if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }\n      if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }\n      if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)0x18;\n      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);\n      if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);\n      pppppcStack_218 = (code *****)0x0;\n      iVar4 = iVar4 + 1;\n      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);\n      ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);\n      ppppppcVar21 = ppppppcVar31;\n      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);\n      if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }\n      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);\n      ppppppcVar21 = ppppppcVar5 + 0x48;\n      ppppppcVar5[6] = pppppcVar29;\n      ppppppcVar5[3] = pppppcVar25;\n      ppppppcVar5[0x42] = (code *****)0x0;\n      ppppppcVar5[7] = (code *****)ppppppcVar21;\n      ppppppcVar5[9] = (code *****)ppppcStack_214;\n      ppppppcVar5[0x41] = (code *****)0x100000;\n      if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }\n      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;\n      ppppppcVar5[10] = (code *****)0x0;\n      ppppppcVar5[0xb] = (code *****)0x0;\n      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);\n      ppppppcVar5[0xc] = (code *****)0xff;\n      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';\n      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';\n      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);\n      ppppppcVar5[0x3f] = (code *****)0x1;\n      iVar36 = 0;\n      iVar7 = 0;\n      do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);\n      pcVar43 = *(code **)(pcVar42 + 0x53d84);\n      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);\n      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;\n      ppppppcVar5[5] = pppppcVar25;\n      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);\n      iVar6 = (int)pppppcVar37 + iVar4;\n      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));\n      ppppppcVar5[4] = pppppcVar37;\n      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);\n      if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }\n      ppppppcVar31 = &pppppcStack_210;\n      pppppcStack_210 = (code *****)0x0;\n      if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }\n      in_stack_fffffd68 = ppppppcVar5[10];\n      ppppppcVar35 = (code ******)ppppppcVar5[4];\n      if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);\n      ppppppcVar5[0x37] = pppppcStack_210;\n      iVar4 = *(int *)(pcVar42 + 0x5393c);\n      pppppcStack_210 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar31;\n      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);\n      if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }\n      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);\n      if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }\n      (**(code **)(pcVar42 + 0x53974))(0);\n      ppppppcVar5[0x38] = pppppcStack_210;\n      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;\n      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }\n      ppppppcVar21 = (code ******)ppppppcVar5[4];\n      ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);\n      if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }\n      ppppppcVar28 = (code ******)0xffffffff;\n      in_stack_fffffd68 = (code *****)0x0;\n      ppppppcVar21 = ppppppcVar17;\n      ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);\n      if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }\n      ppppppcVar35 = (code ******)ppppppcVar5[0xb];\n      if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }\n      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);\n      ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);\n      if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);\n      pppppcStack_218 = (code *****)ppppppcVar38;\n      goto LAB_00107f4c;\n    }" ({ "{") (expression_statement "ppppppcVar21 = (code ******)0x0;" (assignment_expression "ppppppcVar21 = (code ******)0x0" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);" (call_expression "(**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d08))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53d08)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53d08)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53d08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53d08)" (( "(") (binary_expression "pcVar42 + 0x53d08" (identifier "pcVar42") (+ "+") (number_literal "0x53d08")) () ")"))))) () ")")) (argument_list "(iStack_284,0,ppppppcVar28)" (( "(") (identifier "iStack_284") (, ",") (number_literal "0") (, ",") (identifier "ppppppcVar28") () ")"))) (; ";")) (if_statement "if ((code ******)pppppcStack_218 != (code ******)0x0) {\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }" (if "if") (parenthesized_expression "((code ******)pppppcStack_218 != (code ******)0x0)" (( "(") (binary_expression "(code ******)pppppcStack_218 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_218" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_218")) (!= "!=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        ppppppcVar5 = (code ******)0x0;\n        iStack_278 = 0;\n        goto LAB_00107f4c;\n      }" ({ "{") (expression_statement "ppppppcVar5 = (code ******)0x0;" (assignment_expression "ppppppcVar5 = (code ******)0x0" (identifier "ppppppcVar5") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" (identifier "iStack_278") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00107f4c;" (goto "goto") (statement_identifier "LAB_00107f4c") (; ";")) (} "}"))) (expression_statement "iVar7 = *(int *)(pcVar42 + 0x5393c);" (assignment_expression "iVar7 = *(int *)(pcVar42 + 0x5393c)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(pcVar42 + 0x5393c)" (* "*") (cast_expression "(int *)(pcVar42 + 0x5393c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x5393c)" (( "(") (binary_expression "pcVar42 + 0x5393c" (identifier "pcVar42") (+ "+") (number_literal "0x5393c")) () ")"))))) (; ";")) (if_statement "if ((int)ppppppcVar23 < 4) {\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }\n      else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }" (if "if") (parenthesized_expression "((int)ppppppcVar23 < 4)" (( "(") (binary_expression "(int)ppppppcVar23 < 4" (cast_expression "(int)ppppppcVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar23")) (< "<") (number_literal "4")) () ")")) (compound_statement "{\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        bVar2 = 0;\n      }" ({ "{") (expression_statement "pppppcVar29 = (code *****)0x0;" (assignment_expression "pppppcVar29 = (code *****)0x0" (identifier "pppppcVar29") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" (identifier "iVar36") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar2 = 0;" (assignment_expression "bVar2 = 0" (identifier "bVar2") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }" (else "else") (compound_statement "{\n        pcVar43 = pcVar40 + 0xc;\n        pppppcVar29 = (code *****)0x0;\n        iVar36 = 0;\n        iVar8 = *(int *)(pcVar42 + 0x5392c);\n        ppppppcVar5 = (code ******)0x3;\n        bVar2 = 0;\n        iVar9 = *(int *)(pcVar42 + 0x539b0);\n        iVar10 = *(int *)(pcVar42 + 0x53a70);\n        iVar11 = *(int *)(pcVar42 + 0x53950);\n        do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);\n      }" ({ "{") (expression_statement "pcVar43 = pcVar40 + 0xc;" (assignment_expression "pcVar43 = pcVar40 + 0xc" (identifier "pcVar43") (= "=") (binary_expression "pcVar40 + 0xc" (identifier "pcVar40") (+ "+") (number_literal "0xc"))) (; ";")) (expression_statement "pppppcVar29 = (code *****)0x0;" (assignment_expression "pppppcVar29 = (code *****)0x0" (identifier "pppppcVar29") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" (identifier "iVar36") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar8 = *(int *)(pcVar42 + 0x5392c);" (assignment_expression "iVar8 = *(int *)(pcVar42 + 0x5392c)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(pcVar42 + 0x5392c)" (* "*") (cast_expression "(int *)(pcVar42 + 0x5392c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x5392c)" (( "(") (binary_expression "pcVar42 + 0x5392c" (identifier "pcVar42") (+ "+") (number_literal "0x5392c")) () ")"))))) (; ";")) (expression_statement "ppppppcVar5 = (code ******)0x3;" (assignment_expression "ppppppcVar5 = (code ******)0x3" (identifier "ppppppcVar5") (= "=") (cast_expression "(code ******)0x3" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x3"))) (; ";")) (expression_statement "bVar2 = 0;" (assignment_expression "bVar2 = 0" (identifier "bVar2") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar9 = *(int *)(pcVar42 + 0x539b0);" (assignment_expression "iVar9 = *(int *)(pcVar42 + 0x539b0)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(pcVar42 + 0x539b0)" (* "*") (cast_expression "(int *)(pcVar42 + 0x539b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x539b0)" (( "(") (binary_expression "pcVar42 + 0x539b0" (identifier "pcVar42") (+ "+") (number_literal "0x539b0")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(pcVar42 + 0x53a70);" (assignment_expression "iVar10 = *(int *)(pcVar42 + 0x53a70)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(pcVar42 + 0x53a70)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53a70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53a70)" (( "(") (binary_expression "pcVar42 + 0x53a70" (identifier "pcVar42") (+ "+") (number_literal "0x53a70")) () ")"))))) (; ";")) (expression_statement "iVar11 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar11 = *(int *)(pcVar42 + 0x53950)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")"))))) (; ";")) (do_statement "do {\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        } while (ppppppcVar23 != ppppppcVar5);" (do "do") (compound_statement "{\n          ppppppcVar31 = *(code *******)pcVar43;\n          if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }\nLAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);\n          if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }\n          pcVar43 = pcVar43 + 4;\n        }" ({ "{") (expression_statement "ppppppcVar31 = *(code *******)pcVar43;" (assignment_expression "ppppppcVar31 = *(code *******)pcVar43" (identifier "ppppppcVar31") (= "=") (pointer_expression "*(code *******)pcVar43" (* "*") (cast_expression "(code *******)pcVar43" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "pcVar43")))) (; ";")) (if_statement "if (((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }\n          else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }" (if "if") (parenthesized_expression "(((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12))" (( "(") (binary_expression "((code *****)ppppcStack_214 == (code *****)0x0) &&\n             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)" (parenthesized_expression "((code *****)ppppcStack_214 == (code *****)0x0)" (( "(") (binary_expression "(code *****)ppppcStack_214 == (code *****)0x0" (cast_expression "(code *****)ppppcStack_214" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppcStack_214")) (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)" (( "(") (comma_expression "uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12" (assignment_expression "uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31)" (identifier "uVar12") (= "=") (call_expression "(**(code **)(pcVar42 + 0x53d18))(ppppppcVar31)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d18))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53d18)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53d18)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53d18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53d18)" (( "(") (binary_expression "pcVar42 + 0x53d18" (identifier "pcVar42") (+ "+") (number_literal "0x53d18")) () ")"))))) () ")")) (argument_list "(ppppppcVar31)" (( "(") (identifier "ppppppcVar31") () ")")))) (, ",") (binary_expression "8 < uVar12" (number_literal "8") (< "<") (identifier "uVar12"))) () ")"))) () ")")) (compound_statement "{\n            ppppppcVar28 = (code ******)&DAT_00000008;\n            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);\n            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);\n            if (iVar13 != 0) goto LAB_00107e50;\n            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;\n            ppppppcVar28 = (code ******)&ppppcStack_214;\n            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);\n            ppppppcVar35 = ppppppcVar38;\n            pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n          }" ({ "{") (expression_statement "ppppppcVar28 = (code ******)&DAT_00000008;" (assignment_expression "ppppppcVar28 = (code ******)&DAT_00000008" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)&DAT_00000008" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000008" (& "&") (identifier "DAT_00000008")))) (; ";")) (expression_statement "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);" (assignment_expression "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344)" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x2344)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x2344" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x2344")) () ")")))) (; ";")) (expression_statement "iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);" (assignment_expression "iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8)" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53a5c))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53a5c)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53a5c)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53a5c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53a5c)" (( "(") (binary_expression "pcVar42 + 0x53a5c" (identifier "pcVar42") (+ "+") (number_literal "0x53a5c")) () ")"))))) () ")")) (argument_list "(ppppppcVar31,ppppppcVar21,8)" (( "(") (identifier "ppppppcVar31") (, ",") (identifier "ppppppcVar21") (, ",") (number_literal "8") () ")")))) (; ";")) (if_statement "if (iVar13 != 0) goto LAB_00107e50;" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00107e50;" (goto "goto") (statement_identifier "LAB_00107e50") (; ";"))) (if_statement "if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;" (if "if") (parenthesized_expression "(((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0'))" (( "(") (binary_expression "((char)*(code *)(ppppppcVar31 + 2) < 0) ||\n               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')" (parenthesized_expression "((char)*(code *)(ppppppcVar31 + 2) < 0)" (( "(") (binary_expression "(char)*(code *)(ppppppcVar31 + 2) < 0" (cast_expression "(char)*(code *)(ppppppcVar31 + 2)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(code *)(ppppppcVar31 + 2)" (* "*") (cast_expression "(code *)(ppppppcVar31 + 2)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppcVar31 + 2)" (( "(") (binary_expression "ppppppcVar31 + 2" (identifier "ppppppcVar31") (+ "+") (number_literal "2")) () ")"))))) (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')" (( "(") (binary_expression "*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0'" (pointer_expression "*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0)" (* "*") (cast_expression "(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0)" (( "(") (binary_expression "(int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950) + 0x25c0" (binary_expression "(int)(char)*(code *)(ppppppcVar31 + 2) +\n                         *(int *)(pcVar42 + 0x53950)" (cast_expression "(int)(char)*(code *)(ppppppcVar31 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*(code *)(ppppppcVar31 + 2)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(code *)(ppppppcVar31 + 2)" (* "*") (cast_expression "(code *)(ppppppcVar31 + 2)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppcVar31 + 2)" (( "(") (binary_expression "ppppppcVar31 + 2" (identifier "ppppppcVar31") (+ "+") (number_literal "2")) () ")")))))) (+ "+") (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")"))))) (+ "+") (number_literal "0x25c0")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_00107e50;" (goto "goto") (statement_identifier "LAB_00107e50") (; ";"))) (expression_statement "ppppppcVar28 = (code ******)&ppppcStack_214;" (assignment_expression "ppppppcVar28 = (code ******)&ppppcStack_214" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)&ppppcStack_214" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&ppppcStack_214" (& "&") (identifier "ppppcStack_214")))) (; ";")) (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9)" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)((int)ppppppcVar31 + 9)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppcVar31 + 9)" (( "(") (binary_expression "(int)ppppppcVar31 + 9" (cast_expression "(int)ppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar31")) (+ "+") (number_literal "9")) () ")")))) (; ";")) (expression_statement "ppppppcVar35 = ppppppcVar38;" (assignment_expression "ppppppcVar35 = ppppppcVar38" (identifier "ppppppcVar35") (= "=") (identifier "ppppppcVar38")) (; ";")) (expression_statement "pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);" (assignment_expression "pppppcStack_218 =\n                 (code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28)" (identifier "pppppcStack_218") (= "=") (cast_expression "(code *****)\n                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                           (ppppppcVar33,ppppppcVar21,ppppppcVar28)" (parenthesized_expression "(*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" (* "*") (cast_expression "(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53a58) + -0x73a8" (pointer_expression "*(int *)(pcVar42 + 0x53a58)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53a58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53a58)" (( "(") (binary_expression "pcVar42 + 0x53a58" (identifier "pcVar42") (+ "+") (number_literal "0x53a58")) () ")")))) (+ "+") (number_literal "-0x73a8")) () ")")))) () ")")) (argument_list "(ppppppcVar33,ppppppcVar21,ppppppcVar28)" (( "(") (identifier "ppppppcVar33") (, ",") (identifier "ppppppcVar21") (, ",") (identifier "ppppppcVar28") () ")"))))) (; ";")) (} "}")) (else_clause "else {\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }" (else "else") (compound_statement "{\nLAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }\n            iVar13 = (*pcVar41)(ppppppcVar31);\n            iVar36 = iVar36 + 1 + iVar13;\n            piVar16 = piVar27 + (int)pppppcVar29;\n            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);\n            *piVar16 = (int)ppppppcVar31;\n          }" ({ "{") (labeled_statement "LAB_00107e50:\n            if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }" (statement_identifier "LAB_00107e50") (: ":") (if_statement "if (cVar1 == '4') {\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }\n            else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }" (if "if") (parenthesized_expression "(cVar1 == '4')" (( "(") (binary_expression "cVar1 == '4'" (identifier "cVar1") (== "==") (char_literal "'4'" (' "'") (character "4") (' "'"))) () ")")) (compound_statement "{\n              pppppcVar37 = (code *****)0x0;\n              ppppppcVar21 = ppppppcVar31;\n              if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }\n              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;\n              do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);\n            }" ({ "{") (expression_statement "pppppcVar37 = (code *****)0x0;" (assignment_expression "pppppcVar37 = (code *****)0x0" (identifier "pppppcVar37") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar31")) (; ";")) (if_statement "if (*(code *)ppppppcVar31 == (code)0x3d) {\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }" (if "if") (parenthesized_expression "(*(code *)ppppppcVar31 == (code)0x3d)" (( "(") (binary_expression "*(code *)ppppppcVar31 == (code)0x3d" (pointer_expression "*(code *)ppppppcVar31" (* "*") (cast_expression "(code *)ppppppcVar31" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppcVar31"))) (== "==") (cast_expression "(code)0x3d" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x3d"))) () ")")) (compound_statement "{\nLAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);\n                if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }\n                goto LAB_00107e88;\n              }" ({ "{") (labeled_statement "LAB_001080a4:\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);" (statement_identifier "LAB_001080a4") (: ":") (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1)" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)((int)ppppppcVar21 + 1)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppcVar21 + 1)" (( "(") (binary_expression "(int)ppppppcVar21 + 1" (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21")) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (expression_statement "ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);" (assignment_expression "ppppppcVar17 = (code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21)" (identifier "ppppppcVar17") (= "=") (cast_expression "(code ******)\n                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x5397c)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x5397c)" (* "*") (cast_expression "(code **)(pcVar42 + 0x5397c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x5397c)" (( "(") (binary_expression "pcVar42 + 0x5397c" (identifier "pcVar42") (+ "+") (number_literal "0x5397c")) () ")"))))) () ")")) (argument_list "(iVar7 + 0x71f4,ppppppcVar21)" (( "(") (binary_expression "iVar7 + 0x71f4" (identifier "iVar7") (+ "+") (number_literal "0x71f4")) (, ",") (identifier "ppppppcVar21") () ")"))))) (; ";")) (if_statement "if (ppppppcVar17 == (code ******)0x0) {\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }\n                else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }" (if "if") (parenthesized_expression "(ppppppcVar17 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar17 == (code ******)0x0" (identifier "ppppppcVar17") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  pppppcStack_218 = (code *****)&DAT_00000007;\n                }" ({ "{") (expression_statement "pppppcStack_218 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_218 = (code *****)&DAT_00000007" (identifier "pppppcStack_218") (= "=") (cast_expression "(code *****)&DAT_00000007" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (} "}")) (else_clause "else {\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }" (else "else") (compound_statement "{\n                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);\n                  ppppppcVar35 = (code ******)appppcStack_20c;\n                  puVar30 = (uint *)(iVar8 + -0x5f24);\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));\n                  uVar12 = 0;\n                  ppppppcVar21 = ppppppcVar35;\n                  do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);\n                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);\n                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);\n                  pppppcStack_218 = (code *****)0x1;\nLAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n                  ppppppcVar28 = ppppppcVar31;\n                }" ({ "{") (expression_statement "(*(code *)(iVar9 + 0x1120))(ppppppcVar17);" (call_expression "(*(code *)(iVar9 + 0x1120))(ppppppcVar17)" (parenthesized_expression "(*(code *)(iVar9 + 0x1120))" (( "(") (pointer_expression "*(code *)(iVar9 + 0x1120)" (* "*") (cast_expression "(code *)(iVar9 + 0x1120)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x1120)" (( "(") (binary_expression "iVar9 + 0x1120" (identifier "iVar9") (+ "+") (number_literal "0x1120")) () ")")))) () ")")) (argument_list "(ppppppcVar17)" (( "(") (identifier "ppppppcVar17") () ")"))) (; ";")) (expression_statement "ppppppcVar35 = (code ******)appppcStack_20c;" (assignment_expression "ppppppcVar35 = (code ******)appppcStack_20c" (identifier "ppppppcVar35") (= "=") (cast_expression "(code ******)appppcStack_20c" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "appppcStack_20c"))) (; ";")) (expression_statement "puVar30 = (uint *)(iVar8 + -0x5f24);" (assignment_expression "puVar30 = (uint *)(iVar8 + -0x5f24)" (identifier "puVar30") (= "=") (cast_expression "(uint *)(iVar8 + -0x5f24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + -0x5f24)" (( "(") (binary_expression "iVar8 + -0x5f24" (identifier "iVar8") (+ "+") (number_literal "-0x5f24")) () ")")))) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar35;" (assignment_expression "ppppppcVar21 = ppppppcVar35" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar35")) (; ";")) (do_statement "do {\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));" (do "do") (compound_statement "{\n                    puVar14 = puVar30 + 4;\n                    *ppppppcVar21 = (code *****)*puVar30;\n                    pppppcVar22 = (code *****)puVar30[2];\n                    pppppcVar19 = (code *****)puVar30[3];\n                    ppppppcVar21[1] = (code *****)puVar30[1];\n                    ppppppcVar21[2] = pppppcVar22;\n                    ppppppcVar21[3] = pppppcVar19;\n                    puVar30 = puVar14;\n                    ppppppcVar21 = ppppppcVar21 + 4;\n                  }" ({ "{") (expression_statement "puVar14 = puVar30 + 4;" (assignment_expression "puVar14 = puVar30 + 4" (identifier "puVar14") (= "=") (binary_expression "puVar30 + 4" (identifier "puVar30") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*ppppppcVar21 = (code *****)*puVar30;" (assignment_expression "*ppppppcVar21 = (code *****)*puVar30" (pointer_expression "*ppppppcVar21" (* "*") (identifier "ppppppcVar21")) (= "=") (cast_expression "(code *****)*puVar30" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "*puVar30" (* "*") (identifier "puVar30")))) (; ";")) (expression_statement "pppppcVar22 = (code *****)puVar30[2];" (assignment_expression "pppppcVar22 = (code *****)puVar30[2]" (identifier "pppppcVar22") (= "=") (cast_expression "(code *****)puVar30[2]" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "puVar30[2]" (identifier "puVar30") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "pppppcVar19 = (code *****)puVar30[3];" (assignment_expression "pppppcVar19 = (code *****)puVar30[3]" (identifier "pppppcVar19") (= "=") (cast_expression "(code *****)puVar30[3]" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "puVar30[3]" (identifier "puVar30") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "ppppppcVar21[1] = (code *****)puVar30[1];" (assignment_expression "ppppppcVar21[1] = (code *****)puVar30[1]" (subscript_expression "ppppppcVar21[1]" (identifier "ppppppcVar21") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(code *****)puVar30[1]" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "puVar30[1]" (identifier "puVar30") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "ppppppcVar21[2] = pppppcVar22;" (assignment_expression "ppppppcVar21[2] = pppppcVar22" (subscript_expression "ppppppcVar21[2]" (identifier "ppppppcVar21") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "pppppcVar22")) (; ";")) (expression_statement "ppppppcVar21[3] = pppppcVar19;" (assignment_expression "ppppppcVar21[3] = pppppcVar19" (subscript_expression "ppppppcVar21[3]" (identifier "ppppppcVar21") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "pppppcVar19")) (; ";")) (expression_statement "puVar30 = puVar14;" (assignment_expression "puVar30 = puVar14" (identifier "puVar30") (= "=") (identifier "puVar14")) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar21 + 4;" (assignment_expression "ppppppcVar21 = ppppppcVar21 + 4" (identifier "ppppppcVar21") (= "=") (binary_expression "ppppppcVar21 + 4" (identifier "ppppppcVar21") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar14 != (uint *)(iVar8 + -0x5ee4))" (( "(") (binary_expression "puVar14 != (uint *)(iVar8 + -0x5ee4)" (identifier "puVar14") (!= "!=") (cast_expression "(uint *)(iVar8 + -0x5ee4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + -0x5ee4)" (( "(") (binary_expression "iVar8 + -0x5ee4" (identifier "iVar8") (+ "+") (number_literal "-0x5ee4")) () ")")))) () ")")) (; ";")) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar35;" (assignment_expression "ppppppcVar21 = ppppppcVar35" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar35")) (; ";")) (do_statement "do {\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  } while (uVar12 != 8);" (do "do") (compound_statement "{\n                    if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }\n                    uVar12 = uVar12 + 1;\n                    ppppppcVar21 = ppppppcVar21 + 2;\n                  }" ({ "{") (if_statement "if ((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }" (if "if") (parenthesized_expression "((ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0))" (( "(") (binary_expression "(ppppppcVar21[1] == pppppcVar37) &&\n                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)" (parenthesized_expression "(ppppppcVar21[1] == pppppcVar37)" (( "(") (binary_expression "ppppppcVar21[1] == pppppcVar37" (subscript_expression "ppppppcVar21[1]" (identifier "ppppppcVar21") ([ "[") (number_literal "1") (] "]")) (== "==") (identifier "pppppcVar37")) () ")")) (&& "&&") (parenthesized_expression "(iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)" (( "(") (comma_expression "iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0" (assignment_expression "iVar13 = (**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37)" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcVar42 + 0x53a5c))\n                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53a5c))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53a5c)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53a5c)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53a5c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53a5c)" (( "(") (binary_expression "pcVar42 + 0x53a5c" (identifier "pcVar42") (+ "+") (number_literal "0x53a5c")) () ")"))))) () ")")) (argument_list "(ppppppcVar31,*ppppppcVar21,pppppcVar37)" (( "(") (identifier "ppppppcVar31") (, ",") (pointer_expression "*ppppppcVar21" (* "*") (identifier "ppppppcVar21")) (, ",") (identifier "pppppcVar37") () ")")))) (, ",") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                      if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }\n                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);\n                      if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }\n                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);\n                      ppppppcVar31 = ppppppcVar17;\n                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);\n                      bVar2 = 1;\n                      pppppcStack_218 = (code *****)0x1;\n                      goto LAB_0010823c;\n                    }" ({ "{") (if_statement "if (uVar12 < 8) {\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }" (if "if") (parenthesized_expression "(uVar12 < 8)" (( "(") (binary_expression "uVar12 < 8" (identifier "uVar12") (< "<") (number_literal "8")) () ")")) (compound_statement "{\n                    \n                    \n                        ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();\n                        return ppppppcVar21;\n                      }" ({ "{") (expression_statement "ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))();" (assignment_expression "ppppppcVar21 = (code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))()" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)\n                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))()" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))()" (parenthesized_expression "(*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         ))" (( "(") (pointer_expression "*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         )" (* "*") (parenthesized_expression "(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904\n                                         )" (( "(") (binary_expression "pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904" (binary_expression "pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4)" (identifier "pcVar42") (+ "+") (pointer_expression "*(int *)(iVar11 + 0x1b1c + uVar12 * 4)" (* "*") (cast_expression "(int *)(iVar11 + 0x1b1c + uVar12 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1b1c + uVar12 * 4)" (( "(") (binary_expression "iVar11 + 0x1b1c + uVar12 * 4" (binary_expression "iVar11 + 0x1b1c" (identifier "iVar11") (+ "+") (number_literal "0x1b1c")) (+ "+") (binary_expression "uVar12 * 4" (identifier "uVar12") (* "*") (number_literal "4"))) () ")"))))) (+ "+") (number_literal "0x5b904")) () ")"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return ppppppcVar21;" (return "return") (identifier "ppppppcVar21") (; ";")) (} "}"))) (expression_statement "iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);" (assignment_expression "iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17)" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcVar42 + 0x53d18))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d18))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53d18)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53d18)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53d18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53d18)" (( "(") (binary_expression "pcVar42 + 0x53d18" (identifier "pcVar42") (+ "+") (number_literal "0x53d18")) () ")"))))) () ")")) (argument_list "(ppppppcVar17)" (( "(") (identifier "ppppppcVar17") () ")")))) (; ";")) (if_statement "if (iVar13 == 4) {\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }" (if "if") (parenthesized_expression "(iVar13 == 4)" (( "(") (binary_expression "iVar13 == 4" (identifier "iVar13") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n                        ppppppcVar31 = (code ******)&DAT_00000004;\n                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);\n                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);\n                        if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }\n                      }" ({ "{") (expression_statement "ppppppcVar31 = (code ******)&DAT_00000004;" (assignment_expression "ppppppcVar31 = (code ******)&DAT_00000004" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)&DAT_00000004" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000004" (& "&") (identifier "DAT_00000004")))) (; ";")) (expression_statement "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);" (assignment_expression "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528)" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x2528)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x2528" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x2528")) () ")")))) (; ";")) (expression_statement "iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);" (assignment_expression "iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4)" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53a5c))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53a5c)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53a5c)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53a5c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53a5c)" (( "(") (binary_expression "pcVar42 + 0x53a5c" (identifier "pcVar42") (+ "+") (number_literal "0x53a5c")) () ")"))))) () ")")) (argument_list "(ppppppcVar17,ppppppcVar21,4)" (( "(") (identifier "ppppppcVar17") (, ",") (identifier "ppppppcVar21") (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar13 == 0) {\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          bVar2 = 1;\n                          goto LAB_0010823c;\n                        }" ({ "{") (expression_statement "bVar2 = 1;" (assignment_expression "bVar2 = 1" (identifier "bVar2") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0010823c;" (goto "goto") (statement_identifier "LAB_0010823c") (; ";")) (} "}"))) (} "}"))) (expression_statement "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);" (assignment_expression "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698)" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x3698)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3698" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x3698")) () ")")))) (; ";")) (expression_statement "ppppppcVar31 = ppppppcVar17;" (assignment_expression "ppppppcVar31 = ppppppcVar17" (identifier "ppppppcVar31") (= "=") (identifier "ppppppcVar17")) (; ";")) (expression_statement "(*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);" (call_expression "(*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17)" (parenthesized_expression "(*(code *)(iVar10 + 0x2618))" (( "(") (pointer_expression "*(code *)(iVar10 + 0x2618)" (* "*") (cast_expression "(code *)(iVar10 + 0x2618)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x2618)" (( "(") (binary_expression "iVar10 + 0x2618" (identifier "iVar10") (+ "+") (number_literal "0x2618")) () ")")))) () ")")) (argument_list "(ppppppcVar38,ppppppcVar21,ppppppcVar17)" (( "(") (identifier "ppppppcVar38") (, ",") (identifier "ppppppcVar21") (, ",") (identifier "ppppppcVar17") () ")"))) (; ";")) (expression_statement "bVar2 = 1;" (assignment_expression "bVar2 = 1" (identifier "bVar2") (= "=") (number_literal "1")) (; ";")) (expression_statement "pppppcStack_218 = (code *****)0x1;" (assignment_expression "pppppcStack_218 = (code *****)0x1" (identifier "pppppcStack_218") (= "=") (cast_expression "(code *****)0x1" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x1"))) (; ";")) (goto_statement "goto LAB_0010823c;" (goto "goto") (statement_identifier "LAB_0010823c") (; ";")) (} "}"))) (expression_statement "uVar12 = uVar12 + 1;" (assignment_expression "uVar12 = uVar12 + 1" (identifier "uVar12") (= "=") (binary_expression "uVar12 + 1" (identifier "uVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar21 + 2;" (assignment_expression "ppppppcVar21 = ppppppcVar21 + 2" (identifier "ppppppcVar21") (= "=") (binary_expression "ppppppcVar21 + 2" (identifier "ppppppcVar21") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar12 != 8)" (( "(") (binary_expression "uVar12 != 8" (identifier "uVar12") (!= "!=") (number_literal "8")) () ")")) (; ";")) (expression_statement "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);" (assignment_expression "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658)" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x3658)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3658" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x3658")) () ")")))) (; ";")) (expression_statement "(*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);" (call_expression "(*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31)" (parenthesized_expression "(*(code *)(iVar10 + 0x2618))" (( "(") (pointer_expression "*(code *)(iVar10 + 0x2618)" (* "*") (cast_expression "(code *)(iVar10 + 0x2618)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x2618)" (( "(") (binary_expression "iVar10 + 0x2618" (identifier "iVar10") (+ "+") (number_literal "0x2618")) () ")")))) () ")")) (argument_list "(ppppppcVar38,ppppppcVar21,ppppppcVar31)" (( "(") (identifier "ppppppcVar38") (, ",") (identifier "ppppppcVar21") (, ",") (identifier "ppppppcVar31") () ")"))) (; ";")) (expression_statement "pppppcStack_218 = (code *****)0x1;" (assignment_expression "pppppcStack_218 = (code *****)0x1" (identifier "pppppcStack_218") (= "=") (cast_expression "(code *****)0x1" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x1"))) (; ";")) (labeled_statement "LAB_0010823c:\n                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);" (statement_identifier "LAB_0010823c") (: ":") (expression_statement "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17);" (call_expression "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53974)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53974)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53974)" (( "(") (binary_expression "pcVar42 + 0x53974" (identifier "pcVar42") (+ "+") (number_literal "0x53974")) () ")"))))) () ")")) (argument_list "(ppppppcVar17)" (( "(") (identifier "ppppppcVar17") () ")"))) (; ";"))) (expression_statement "ppppppcVar28 = ppppppcVar31;" (assignment_expression "ppppppcVar28 = ppppppcVar31" (identifier "ppppppcVar28") (= "=") (identifier "ppppppcVar31")) (; ";")) (} "}")))) (goto_statement "goto LAB_00107e88;" (goto "goto") (statement_identifier "LAB_00107e88") (; ";")) (} "}"))) (if_statement "if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;" (if "if") (parenthesized_expression "(*(code *)ppppppcVar31 == (code)0x0)" (( "(") (binary_expression "*(code *)ppppppcVar31 == (code)0x0" (pointer_expression "*(code *)ppppppcVar31" (* "*") (cast_expression "(code *)ppppppcVar31" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppcVar31"))) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00107e5c;" (goto "goto") (statement_identifier "LAB_00107e5c") (; ";"))) (do_statement "do {\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              } while (*(code *)ppppppcVar21 != (code)0x0);" (do "do") (compound_statement "{\n                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);\n                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);\n                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;\n                pcVar41 = *(code **)(pcVar42 + 0x53d18);\n              }" ({ "{") (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1)" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)((int)ppppppcVar21 + 1)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppcVar21 + 1)" (( "(") (binary_expression "(int)ppppppcVar21 + 1" (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);" (assignment_expression "pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31)" (identifier "pppppcVar37") (= "=") (cast_expression "(code *****)((int)ppppppcVar21 - (int)ppppppcVar31)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)ppppppcVar21 - (int)ppppppcVar31)" (( "(") (binary_expression "(int)ppppppcVar21 - (int)ppppppcVar31" (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21")) (- "-") (cast_expression "(int)ppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar31"))) () ")")))) (; ";")) (if_statement "if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;" (if "if") (parenthesized_expression "(*(code *)ppppppcVar21 == (code)0x3d)" (( "(") (binary_expression "*(code *)ppppppcVar21 == (code)0x3d" (pointer_expression "*(code *)ppppppcVar21" (* "*") (cast_expression "(code *)ppppppcVar21" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppcVar21"))) (== "==") (cast_expression "(code)0x3d" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x3d"))) () ")")) (goto_statement "goto LAB_001080a4;" (goto "goto") (statement_identifier "LAB_001080a4") (; ";"))) (expression_statement "pcVar41 = *(code **)(pcVar42 + 0x53d18);" (assignment_expression "pcVar41 = *(code **)(pcVar42 + 0x53d18)" (identifier "pcVar41") (= "=") (pointer_expression "*(code **)(pcVar42 + 0x53d18)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53d18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53d18)" (( "(") (binary_expression "pcVar42 + 0x53d18" (identifier "pcVar42") (+ "+") (number_literal "0x53d18")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(code *)ppppppcVar21 != (code)0x0)" (( "(") (binary_expression "*(code *)ppppppcVar21 != (code)0x0" (pointer_expression "*(code *)ppppppcVar21" (* "*") (cast_expression "(code *)ppppppcVar21" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppcVar21"))) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}")) (else_clause "else {\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }" (else "else") (compound_statement "{\nLAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);\n            }" ({ "{") (labeled_statement "LAB_00107e5c:\n              pcVar41 = *(code **)(pcVar42 + 0x53d18);" (statement_identifier "LAB_00107e5c") (: ":") (expression_statement "pcVar41 = *(code **)(pcVar42 + 0x53d18);" (assignment_expression "pcVar41 = *(code **)(pcVar42 + 0x53d18)" (identifier "pcVar41") (= "=") (pointer_expression "*(code **)(pcVar42 + 0x53d18)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53d18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53d18)" (( "(") (binary_expression "pcVar42 + 0x53d18" (identifier "pcVar42") (+ "+") (number_literal "0x53d18")) () ")"))))) (; ";"))) (} "}"))))) (expression_statement "iVar13 = (*pcVar41)(ppppppcVar31);" (assignment_expression "iVar13 = (*pcVar41)(ppppppcVar31)" (identifier "iVar13") (= "=") (call_expression "(*pcVar41)(ppppppcVar31)" (parenthesized_expression "(*pcVar41)" (( "(") (pointer_expression "*pcVar41" (* "*") (identifier "pcVar41")) () ")")) (argument_list "(ppppppcVar31)" (( "(") (identifier "ppppppcVar31") () ")")))) (; ";")) (expression_statement "iVar36 = iVar36 + 1 + iVar13;" (assignment_expression "iVar36 = iVar36 + 1 + iVar13" (identifier "iVar36") (= "=") (binary_expression "iVar36 + 1 + iVar13" (binary_expression "iVar36 + 1" (identifier "iVar36") (+ "+") (number_literal "1")) (+ "+") (identifier "iVar13"))) (; ";")) (expression_statement "piVar16 = piVar27 + (int)pppppcVar29;" (assignment_expression "piVar16 = piVar27 + (int)pppppcVar29" (identifier "piVar16") (= "=") (binary_expression "piVar27 + (int)pppppcVar29" (identifier "piVar27") (+ "+") (cast_expression "(int)pppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar29")))) (; ";")) (expression_statement "pppppcVar29 = (code *****)((int)pppppcVar29 + 1);" (assignment_expression "pppppcVar29 = (code *****)((int)pppppcVar29 + 1)" (identifier "pppppcVar29") (= "=") (cast_expression "(code *****)((int)pppppcVar29 + 1)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)pppppcVar29 + 1)" (( "(") (binary_expression "(int)pppppcVar29 + 1" (cast_expression "(int)pppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar29")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*piVar16 = (int)ppppppcVar31;" (assignment_expression "*piVar16 = (int)ppppppcVar31" (pointer_expression "*piVar16" (* "*") (identifier "piVar16")) (= "=") (cast_expression "(int)ppppppcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar31"))) (; ";")) (} "}")))) (labeled_statement "LAB_00107e88:\n          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);" (statement_identifier "LAB_00107e88") (: ":") (expression_statement "ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);" (assignment_expression "ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1)" (identifier "ppppppcVar5") (= "=") (cast_expression "(code ******)((int)ppppppcVar5 + 1)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppcVar5 + 1)" (( "(") (binary_expression "(int)ppppppcVar5 + 1" (cast_expression "(int)ppppppcVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar5")) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (if_statement "if ((code ******)pppppcStack_218 != (code ******)0x0) {\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }" (if "if") (parenthesized_expression "((code ******)pppppcStack_218 != (code ******)0x0)" (( "(") (binary_expression "(code ******)pppppcStack_218 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_218" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_218")) (!= "!=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            ppppppcVar5 = (code ******)0x0;\n            iStack_278 = 0;\n            goto LAB_00107f4c;\n          }" ({ "{") (expression_statement "ppppppcVar5 = (code ******)0x0;" (assignment_expression "ppppppcVar5 = (code ******)0x0" (identifier "ppppppcVar5") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" (identifier "iStack_278") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00107f4c;" (goto "goto") (statement_identifier "LAB_00107f4c") (; ";")) (} "}"))) (expression_statement "pcVar43 = pcVar43 + 4;" (assignment_expression "pcVar43 = pcVar43 + 4" (identifier "pcVar43") (= "=") (binary_expression "pcVar43 + 4" (identifier "pcVar43") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppppppcVar23 != ppppppcVar5)" (( "(") (binary_expression "ppppppcVar23 != ppppppcVar5" (identifier "ppppppcVar23") (!= "!=") (identifier "ppppppcVar5")) () ")")) (; ";")) (} "}")))) (if_statement "if (pppppcVar29 == (code *****)0x0) {\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }" (if "if") (parenthesized_expression "(pppppcVar29 == (code *****)0x0)" (( "(") (binary_expression "pppppcVar29 == (code *****)0x0" (identifier "pppppcVar29") (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pppppcVar29 = (code *****)0x1;\n        iVar36 = 8;\n        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;\n      }" ({ "{") (expression_statement "pppppcVar29 = (code *****)0x1;" (assignment_expression "pppppcVar29 = (code *****)0x1" (identifier "pppppcVar29") (= "=") (cast_expression "(code *****)0x1" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "iVar36 = 8;" (assignment_expression "iVar36 = 8" (identifier "iVar36") (= "=") (number_literal "8")) (; ";")) (expression_statement "*piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;" (assignment_expression "*piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48" (pointer_expression "*piVar27" (* "*") (identifier "piVar27")) (= "=") (binary_expression "*(int *)(pcVar42 + 0x5393c) + 0x6a48" (pointer_expression "*(int *)(pcVar42 + 0x5393c)" (* "*") (cast_expression "(int *)(pcVar42 + 0x5393c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x5393c)" (( "(") (binary_expression "pcVar42 + 0x5393c" (identifier "pcVar42") (+ "+") (number_literal "0x5393c")) () ")")))) (+ "+") (number_literal "0x6a48"))) (; ";")) (} "}"))) (if_statement "if ((code *****)ppppcStack_214 == (code *****)0x0) {\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }" (if "if") (parenthesized_expression "((code *****)ppppcStack_214 == (code *****)0x0)" (( "(") (binary_expression "(code *****)ppppcStack_214 == (code *****)0x0" (cast_expression "(code *****)ppppcStack_214" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppcStack_214")) (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        ppppppcVar28 = (code ******)&ppppcStack_214;\n        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);\n        pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);\n        ppppppcVar35 = ppppppcVar38;\n        if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }\n      }" ({ "{") (expression_statement "ppppppcVar28 = (code ******)&ppppcStack_214;" (assignment_expression "ppppppcVar28 = (code ******)&ppppcStack_214" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)&ppppcStack_214" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&ppppcStack_214" (& "&") (identifier "ppppcStack_214")))) (; ";")) (expression_statement "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);" (assignment_expression "ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8)" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x3ef8)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3ef8" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x3ef8")) () ")")))) (; ";")) (expression_statement "pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);" (assignment_expression "pppppcStack_218 =\n             (code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28)" (identifier "pppppcStack_218") (= "=") (cast_expression "(code *****)\n             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))\n                       (ppppppcVar33,ppppppcVar21,ppppppcVar28)" (parenthesized_expression "(*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" (* "*") (cast_expression "(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar42 + 0x53a58) + -0x73a8)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53a58) + -0x73a8" (pointer_expression "*(int *)(pcVar42 + 0x53a58)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53a58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53a58)" (( "(") (binary_expression "pcVar42 + 0x53a58" (identifier "pcVar42") (+ "+") (number_literal "0x53a58")) () ")")))) (+ "+") (number_literal "-0x73a8")) () ")")))) () ")")) (argument_list "(ppppppcVar33,ppppppcVar21,ppppppcVar28)" (( "(") (identifier "ppppppcVar33") (, ",") (identifier "ppppppcVar21") (, ",") (identifier "ppppppcVar28") () ")"))))) (; ";")) (expression_statement "ppppppcVar35 = ppppppcVar38;" (assignment_expression "ppppppcVar35 = ppppppcVar38" (identifier "ppppppcVar35") (= "=") (identifier "ppppppcVar38")) (; ";")) (if_statement "if ((code ******)pppppcStack_218 != (code ******)0x0) {\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }" (if "if") (parenthesized_expression "((code ******)pppppcStack_218 != (code ******)0x0)" (( "(") (binary_expression "(code ******)pppppcStack_218 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_218" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_218")) (!= "!=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          iStack_278 = 0;\n          ppppppcVar5 = (code ******)0x0;\n          goto LAB_00107f4c;\n        }" ({ "{") (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" (identifier "iStack_278") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppppppcVar5 = (code ******)0x0;" (assignment_expression "ppppppcVar5 = (code ******)0x0" (identifier "ppppppcVar5") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_00107f4c;" (goto "goto") (statement_identifier "LAB_00107f4c") (; ";")) (} "}"))) (} "}"))) (expression_statement "ppppppcVar21 = (code ******)0x18;" (assignment_expression "ppppppcVar21 = (code ******)0x18" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)0x18" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x18"))) (; ";")) (expression_statement "iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);" (assignment_expression "iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18)" (identifier "iStack_278") (= "=") (call_expression "(**(code **)(pcVar42 + 0x53ab4))(0,0x18)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53ab4))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53ab4)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53ab4)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53ab4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53ab4)" (( "(") (binary_expression "pcVar42 + 0x53ab4" (identifier "pcVar42") (+ "+") (number_literal "0x53ab4")) () ")"))))) () ")")) (argument_list "(0,0x18)" (( "(") (number_literal "0") (, ",") (number_literal "0x18") () ")")))) (; ";")) (if_statement "if (iStack_278 == 0) {\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }" (if "if") (parenthesized_expression "(iStack_278 == 0)" (( "(") (binary_expression "iStack_278 == 0" (identifier "iStack_278") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iStack_278 = 0;\n        ppppppcVar5 = (code ******)0x0;\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }" ({ "{") (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" (identifier "iStack_278") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppppppcVar5 = (code ******)0x0;" (assignment_expression "ppppppcVar5 = (code ******)0x0" (identifier "ppppppcVar5") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppcStack_218 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_218 = (code *****)&DAT_00000007" (identifier "pppppcStack_218") (= "=") (cast_expression "(code *****)&DAT_00000007" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (goto_statement "goto LAB_00107f4c;" (goto "goto") (statement_identifier "LAB_00107f4c") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);" (call_expression "(**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d08))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53d08)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53d08)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53d08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53d08)" (( "(") (binary_expression "pcVar42 + 0x53d08" (identifier "pcVar42") (+ "+") (number_literal "0x53d08")) () ")"))))) () ")")) (argument_list "(iStack_278,0,0x18)" (( "(") (identifier "iStack_278") (, ",") (number_literal "0") (, ",") (number_literal "0x18") () ")"))) (; ";")) (expression_statement "pppppcStack_218 = (code *****)0x0;" (assignment_expression "pppppcStack_218 = (code *****)0x0" (identifier "pppppcStack_218") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);" (assignment_expression "ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4)" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)(((int)pppppcVar29 + 0x4eU) * 4)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(((int)pppppcVar29 + 0x4eU) * 4)" (( "(") (binary_expression "((int)pppppcVar29 + 0x4eU) * 4" (parenthesized_expression "((int)pppppcVar29 + 0x4eU)" (( "(") (binary_expression "(int)pppppcVar29 + 0x4eU" (cast_expression "(int)pppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar29")) (+ "+") (number_literal "0x4eU")) () ")")) (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);" (assignment_expression "ppppppcVar31 = (code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4)" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)\n                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4)" (( "(") (binary_expression "(int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4" (binary_expression "(int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1" (binary_expression "(int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6" (binary_expression "(int)ppppppcVar28 + (int)pppppcVar29 + iVar36" (binary_expression "(int)ppppppcVar28 + (int)pppppcVar29" (cast_expression "(int)ppppppcVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar28")) (+ "+") (cast_expression "(int)pppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar29"))) (+ "+") (identifier "iVar36")) (+ "+") (identifier "iVar6")) (+ "+") (number_literal "1")) (+ "+") (identifier "iVar4")) () ")")))) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar31")) (; ";")) (expression_statement "ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);" (assignment_expression "ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31)" (identifier "ppppppcVar5") (= "=") (cast_expression "(code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53ab4))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53ab4)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53ab4)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53ab4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53ab4)" (( "(") (binary_expression "pcVar42 + 0x53ab4" (identifier "pcVar42") (+ "+") (number_literal "0x53ab4")) () ")"))))) () ")")) (argument_list "(0,ppppppcVar31)" (( "(") (number_literal "0") (, ",") (identifier "ppppppcVar31") () ")"))))) (; ";")) (if_statement "if (ppppppcVar5 == (code ******)0x0) {\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }" (if "if") (parenthesized_expression "(ppppppcVar5 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar5 == (code ******)0x0" (identifier "ppppppcVar5") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        goto LAB_00107f4c;\n      }" ({ "{") (expression_statement "pppppcStack_218 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_218 = (code *****)&DAT_00000007" (identifier "pppppcStack_218") (= "=") (cast_expression "(code *****)&DAT_00000007" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (goto_statement "goto LAB_00107f4c;" (goto "goto") (statement_identifier "LAB_00107f4c") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);" (call_expression "(**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d08))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53d08)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53d08)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53d08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53d08)" (( "(") (binary_expression "pcVar42 + 0x53d08" (identifier "pcVar42") (+ "+") (number_literal "0x53d08")) () ")"))))) () ")")) (argument_list "(ppppppcVar5,0,ppppppcVar31)" (( "(") (identifier "ppppppcVar5") (, ",") (number_literal "0") (, ",") (identifier "ppppppcVar31") () ")"))) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar5 + 0x48;" (assignment_expression "ppppppcVar21 = ppppppcVar5 + 0x48" (identifier "ppppppcVar21") (= "=") (binary_expression "ppppppcVar5 + 0x48" (identifier "ppppppcVar5") (+ "+") (number_literal "0x48"))) (; ";")) (expression_statement "ppppppcVar5[6] = pppppcVar29;" (assignment_expression "ppppppcVar5[6] = pppppcVar29" (subscript_expression "ppppppcVar5[6]" (identifier "ppppppcVar5") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "pppppcVar29")) (; ";")) (expression_statement "ppppppcVar5[3] = pppppcVar25;" (assignment_expression "ppppppcVar5[3] = pppppcVar25" (subscript_expression "ppppppcVar5[3]" (identifier "ppppppcVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "pppppcVar25")) (; ";")) (expression_statement "ppppppcVar5[0x42] = (code *****)0x0;" (assignment_expression "ppppppcVar5[0x42] = (code *****)0x0" (subscript_expression "ppppppcVar5[0x42]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x42") (] "]")) (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar5[7] = (code *****)ppppppcVar21;" (assignment_expression "ppppppcVar5[7] = (code *****)ppppppcVar21" (subscript_expression "ppppppcVar5[7]" (identifier "ppppppcVar5") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(code *****)ppppppcVar21" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar21"))) (; ";")) (expression_statement "ppppppcVar5[9] = (code *****)ppppcStack_214;" (assignment_expression "ppppppcVar5[9] = (code *****)ppppcStack_214" (subscript_expression "ppppppcVar5[9]" (identifier "ppppppcVar5") ([ "[") (number_literal "9") (] "]")) (= "=") (cast_expression "(code *****)ppppcStack_214" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppcStack_214"))) (; ";")) (expression_statement "ppppppcVar5[0x41] = (code *****)0x100000;" (assignment_expression "ppppppcVar5[0x41] = (code *****)0x100000" (subscript_expression "ppppppcVar5[0x41]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x41") (] "]")) (= "=") (cast_expression "(code *****)0x100000" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x100000"))) (; ";")) (if_statement "if (cVar1 == '4') {\n        cVar20 = (code)(bVar2 ^ 1);\n      }\n      else {\n        cVar20 = (code)0x0;\n      }" (if "if") (parenthesized_expression "(cVar1 == '4')" (( "(") (binary_expression "cVar1 == '4'" (identifier "cVar1") (== "==") (char_literal "'4'" (' "'") (character "4") (' "'"))) () ")")) (compound_statement "{\n        cVar20 = (code)(bVar2 ^ 1);\n      }" ({ "{") (expression_statement "cVar20 = (code)(bVar2 ^ 1);" (assignment_expression "cVar20 = (code)(bVar2 ^ 1)" (identifier "cVar20") (= "=") (call_expression "(code)(bVar2 ^ 1)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "(bVar2 ^ 1)" (( "(") (binary_expression "bVar2 ^ 1" (identifier "bVar2") (^ "^") (number_literal "1")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        cVar20 = (code)0x0;\n      }" (else "else") (compound_statement "{\n        cVar20 = (code)0x0;\n      }" ({ "{") (expression_statement "cVar20 = (code)0x0;" (assignment_expression "cVar20 = (code)0x0" (identifier "cVar20") (= "=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (expression_statement "*(code *)((int)ppppppcVar5 + 0xea) = cVar20;" (assignment_expression "*(code *)((int)ppppppcVar5 + 0xea) = cVar20" (pointer_expression "*(code *)((int)ppppppcVar5 + 0xea)" (* "*") (cast_expression "(code *)((int)ppppppcVar5 + 0xea)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar5 + 0xea)" (( "(") (binary_expression "(int)ppppppcVar5 + 0xea" (cast_expression "(int)ppppppcVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar5")) (+ "+") (number_literal "0xea")) () ")")))) (= "=") (identifier "cVar20")) (; ";")) (expression_statement "pcVar43 = *(code **)(pcVar42 + 0x53d84);" (assignment_expression "pcVar43 = *(code **)(pcVar42 + 0x53d84)" (identifier "pcVar43") (= "=") (pointer_expression "*(code **)(pcVar42 + 0x53d84)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53d84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53d84)" (( "(") (binary_expression "pcVar42 + 0x53d84" (identifier "pcVar42") (+ "+") (number_literal "0x53d84")) () ")"))))) (; ";")) (expression_statement "*(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;" (assignment_expression "*(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0" (pointer_expression "*(code *)((int)ppppppcVar5 + 0xeb)" (* "*") (cast_expression "(code *)((int)ppppppcVar5 + 0xeb)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar5 + 0xeb)" (( "(") (binary_expression "(int)ppppppcVar5 + 0xeb" (cast_expression "(int)ppppppcVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar5")) (+ "+") (number_literal "0xeb")) () ")")))) (= "=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar5[10] = (code *****)0x0;" (assignment_expression "ppppppcVar5[10] = (code *****)0x0" (subscript_expression "ppppppcVar5[10]" (identifier "ppppppcVar5") ([ "[") (number_literal "10") (] "]")) (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar5[0xb] = (code *****)0x0;" (assignment_expression "ppppppcVar5[0xb] = (code *****)0x0" (subscript_expression "ppppppcVar5[0xb]" (identifier "ppppppcVar5") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);" (assignment_expression "ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29)" (subscript_expression "ppppppcVar5[0x40]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x40") (] "]")) (= "=") (cast_expression "(code *****)(ppppppcVar21 + (int)pppppcVar29)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(ppppppcVar21 + (int)pppppcVar29)" (( "(") (binary_expression "ppppppcVar21 + (int)pppppcVar29" (identifier "ppppppcVar21") (+ "+") (cast_expression "(int)pppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar29"))) () ")")))) (; ";")) (expression_statement "ppppppcVar5[0xc] = (code *****)0xff;" (assignment_expression "ppppppcVar5[0xc] = (code *****)0xff" (subscript_expression "ppppppcVar5[0xc]" (identifier "ppppppcVar5") ([ "[") (number_literal "0xc") (] "]")) (= "=") (cast_expression "(code *****)0xff" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0xff"))) (; ";")) (expression_statement "*(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';" (assignment_expression "*(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4'" (pointer_expression "*(bool *)((int)ppppppcVar5 + 0xe9)" (* "*") (cast_expression "(bool *)((int)ppppppcVar5 + 0xe9)" (( "(") (type_descriptor "bool *" (primitive_type "bool") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar5 + 0xe9)" (( "(") (binary_expression "(int)ppppppcVar5 + 0xe9" (cast_expression "(int)ppppppcVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar5")) (+ "+") (number_literal "0xe9")) () ")")))) (= "=") (binary_expression "cVar1 == '4'" (identifier "cVar1") (== "==") (char_literal "'4'" (' "'") (character "4") (' "'")))) (; ";")) (expression_statement "*(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';" (assignment_expression "*(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4'" (pointer_expression "*(bool *)(ppppppcVar5 + 0x3a)" (* "*") (cast_expression "(bool *)(ppppppcVar5 + 0x3a)" (( "(") (type_descriptor "bool *" (primitive_type "bool") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppcVar5 + 0x3a)" (( "(") (binary_expression "ppppppcVar5 + 0x3a" (identifier "ppppppcVar5") (+ "+") (number_literal "0x3a")) () ")")))) (= "=") (binary_expression "cVar1 == '4'" (identifier "cVar1") (== "==") (char_literal "'4'" (' "'") (character "4") (' "'")))) (; ";")) (expression_statement "(*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);" (call_expression "(*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18)" (parenthesized_expression "(*pcVar43)" (( "(") (pointer_expression "*pcVar43" (* "*") (identifier "pcVar43")) () ")")) (argument_list "(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18)" (( "(") (binary_expression "ppppppcVar21 + (int)pppppcVar29" (identifier "ppppppcVar21") (+ "+") (cast_expression "(int)pppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar29"))) (, ",") (identifier "iStack_278") (, ",") (number_literal "0x18") () ")"))) (; ";")) (expression_statement "ppppppcVar5[0x3f] = (code *****)0x1;" (assignment_expression "ppppppcVar5[0x3f] = (code *****)0x1" (subscript_expression "ppppppcVar5[0x3f]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x3f") (] "]")) (= "=") (cast_expression "(code *****)0x1" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" (identifier "iVar36") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      } while (iVar36 != 1);" (do "do") (compound_statement "{\n        pppppcVar25 = ppppppcVar5[0x40];\n        iVar36 = iVar36 + 1;\n        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;\n        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;\n        iVar7 = iVar7 + 0x18;\n      }" ({ "{") (expression_statement "pppppcVar25 = ppppppcVar5[0x40];" (assignment_expression "pppppcVar25 = ppppppcVar5[0x40]" (identifier "pppppcVar25") (= "=") (subscript_expression "ppppppcVar5[0x40]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x40") (] "]"))) (; ";")) (expression_statement "iVar36 = iVar36 + 1;" (assignment_expression "iVar36 = iVar36 + 1" (identifier "iVar36") (= "=") (binary_expression "iVar36 + 1" (identifier "iVar36") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;" (assignment_expression "*(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101" (pointer_expression "*(undefined2 *)((int)pppppcVar25 + iVar7 + 4)" (* "*") (cast_expression "(undefined2 *)((int)pppppcVar25 + iVar7 + 4)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppcVar25 + iVar7 + 4)" (( "(") (binary_expression "(int)pppppcVar25 + iVar7 + 4" (binary_expression "(int)pppppcVar25 + iVar7" (cast_expression "(int)pppppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar25")) (+ "+") (identifier "iVar7")) (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0x101")) (; ";")) (expression_statement "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;" (assignment_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0" (pointer_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppcVar25 + iVar7 + 0xc)" (( "(") (binary_expression "(int)pppppcVar25 + iVar7 + 0xc" (binary_expression "(int)pppppcVar25 + iVar7" (cast_expression "(int)pppppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar25")) (+ "+") (identifier "iVar7")) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;" (assignment_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0" (pointer_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 8)" (* "*") (cast_expression "(undefined4 *)((int)pppppcVar25 + iVar7 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppcVar25 + iVar7 + 8)" (( "(") (binary_expression "(int)pppppcVar25 + iVar7 + 8" (binary_expression "(int)pppppcVar25 + iVar7" (cast_expression "(int)pppppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar25")) (+ "+") (identifier "iVar7")) (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;" (assignment_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0" (pointer_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppcVar25 + iVar7 + 0x10)" (( "(") (binary_expression "(int)pppppcVar25 + iVar7 + 0x10" (binary_expression "(int)pppppcVar25 + iVar7" (cast_expression "(int)pppppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar25")) (+ "+") (identifier "iVar7")) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;" (assignment_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0" (pointer_expression "*(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppcVar25 + iVar7 + 0x14)" (( "(") (binary_expression "(int)pppppcVar25 + iVar7 + 0x14" (binary_expression "(int)pppppcVar25 + iVar7" (cast_expression "(int)pppppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar25")) (+ "+") (identifier "iVar7")) (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = iVar7 + 0x18;" (assignment_expression "iVar7 = iVar7 + 0x18" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 0x18" (identifier "iVar7") (+ "+") (number_literal "0x18"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar36 != 1)" (( "(") (binary_expression "iVar36 != 1" (identifier "iVar36") (!= "!=") (number_literal "1")) () ")")) (; ";")) (expression_statement "pcVar43 = *(code **)(pcVar42 + 0x53d84);" (assignment_expression "pcVar43 = *(code **)(pcVar42 + 0x53d84)" (identifier "pcVar43") (= "=") (pointer_expression "*(code **)(pcVar42 + 0x53d84)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53d84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53d84)" (( "(") (binary_expression "pcVar42 + 0x53d84" (identifier "pcVar42") (+ "+") (number_literal "0x53d84")) () ")"))))) (; ";")) (expression_statement "pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);" (assignment_expression "pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29)" (identifier "pppppcVar25") (= "=") (cast_expression "(code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29)" (( "(") (binary_expression "(int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29" (cast_expression "(int)(ppppppcVar5[0x40] + 6)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(ppppppcVar5[0x40] + 6)" (( "(") (binary_expression "ppppppcVar5[0x40] + 6" (subscript_expression "ppppppcVar5[0x40]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x40") (] "]")) (+ "+") (number_literal "6")) () ")"))) (+ "+") (cast_expression "(int)pppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar29"))) () ")")))) (; ";")) (expression_statement "ppppppcVar5[8] = ppppppcVar5[0x40] + 6;" (assignment_expression "ppppppcVar5[8] = ppppppcVar5[0x40] + 6" (subscript_expression "ppppppcVar5[8]" (identifier "ppppppcVar5") ([ "[") (number_literal "8") (] "]")) (= "=") (binary_expression "ppppppcVar5[0x40] + 6" (subscript_expression "ppppppcVar5[0x40]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x40") (] "]")) (+ "+") (number_literal "6"))) (; ";")) (expression_statement "ppppppcVar5[5] = pppppcVar25;" (assignment_expression "ppppppcVar5[5] = pppppcVar25" (subscript_expression "ppppppcVar5[5]" (identifier "ppppppcVar5") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "pppppcVar25")) (; ";")) (expression_statement "pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);" (assignment_expression "pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1)" (identifier "pppppcVar37") (= "=") (cast_expression "(code *****)((int)pppppcVar25 + iVar6 + 1)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)pppppcVar25 + iVar6 + 1)" (( "(") (binary_expression "(int)pppppcVar25 + iVar6 + 1" (binary_expression "(int)pppppcVar25 + iVar6" (cast_expression "(int)pppppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar25")) (+ "+") (identifier "iVar6")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar6 = (int)pppppcVar37 + iVar4;" (assignment_expression "iVar6 = (int)pppppcVar37 + iVar4" (identifier "iVar6") (= "=") (binary_expression "(int)pppppcVar37 + iVar4" (cast_expression "(int)pppppcVar37" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar37")) (+ "+") (identifier "iVar4"))) (; ";")) (expression_statement "(*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));" (call_expression "(*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8))" (parenthesized_expression "(*pcVar43)" (( "(") (pointer_expression "*pcVar43" (* "*") (identifier "pcVar43")) () ")")) (argument_list "(pppppcVar25,*(int *)(pcVar40 + 8))" (( "(") (identifier "pppppcVar25") (, ",") (pointer_expression "*(int *)(pcVar40 + 8)" (* "*") (cast_expression "(int *)(pcVar40 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar40 + 8)" (( "(") (binary_expression "pcVar40 + 8" (identifier "pcVar40") (+ "+") (number_literal "8")) () ")")))) () ")"))) (; ";")) (expression_statement "ppppppcVar5[4] = pppppcVar37;" (assignment_expression "ppppppcVar5[4] = pppppcVar37" (subscript_expression "ppppppcVar5[4]" (identifier "ppppppcVar5") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "pppppcVar37")) (; ";")) (expression_statement "(**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);" (call_expression "(**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d84))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53d84)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53d84)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53d84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53d84)" (( "(") (binary_expression "pcVar42 + 0x53d84" (identifier "pcVar42") (+ "+") (number_literal "0x53d84")) () ")"))))) () ")")) (argument_list "(pppppcVar37,*(int *)(pcVar40 + 4),iVar4)" (( "(") (identifier "pppppcVar37") (, ",") (pointer_expression "*(int *)(pcVar40 + 4)" (* "*") (cast_expression "(int *)(pcVar40 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar40 + 4)" (( "(") (binary_expression "pcVar40 + 4" (identifier "pcVar40") (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "iVar4") () ")"))) (; ";")) (if_statement "if (0 < (int)pppppcVar29) {\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }" (if "if") (parenthesized_expression "(0 < (int)pppppcVar29)" (( "(") (binary_expression "0 < (int)pppppcVar29" (number_literal "0") (< "<") (cast_expression "(int)pppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar29"))) () ")")) (compound_statement "{\n        iVar7 = *(int *)(pcVar42 + 0x539b0);\n        iVar36 = 0;\n        iVar4 = *(int *)(pcVar42 + 0x539b0);\n        do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);\n        pppppcVar25 = (code *****)0x0;\n        do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);\n      }" ({ "{") (expression_statement "iVar7 = *(int *)(pcVar42 + 0x539b0);" (assignment_expression "iVar7 = *(int *)(pcVar42 + 0x539b0)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(pcVar42 + 0x539b0)" (* "*") (cast_expression "(int *)(pcVar42 + 0x539b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x539b0)" (( "(") (binary_expression "pcVar42 + 0x539b0" (identifier "pcVar42") (+ "+") (number_literal "0x539b0")) () ")"))))) (; ";")) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" (identifier "iVar36") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = *(int *)(pcVar42 + 0x539b0);" (assignment_expression "iVar4 = *(int *)(pcVar42 + 0x539b0)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar42 + 0x539b0)" (* "*") (cast_expression "(int *)(pcVar42 + 0x539b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x539b0)" (( "(") (binary_expression "pcVar42 + 0x539b0" (identifier "pcVar42") (+ "+") (number_literal "0x539b0")) () ")"))))) (; ";")) (do_statement "do {\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        } while ((int)pppppcVar29 * 4 != iVar36);" (do "do") (compound_statement "{\n          pppppcStack_210 = (code *****)0x0;\n          uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);\n          if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }\n          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;\n          (*(code *)(iVar7 + 0x1120))(iVar6);\n          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);\n          iVar36 = iVar36 + 4;\n          *piVar16 = iVar6;\n          iVar6 = (int)pppppcStack_210 + iVar6 + 1;\n        }" ({ "{") (expression_statement "pppppcStack_210 = (code *****)0x0;" (assignment_expression "pppppcStack_210 = (code *****)0x0" (identifier "pppppcStack_210") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);" (assignment_expression "uVar15 = (*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210)" (identifier "uVar15") (= "=") (call_expression "(*(code *)(iVar4 + 0x273c))\n                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210)" (parenthesized_expression "(*(code *)(iVar4 + 0x273c))" (( "(") (pointer_expression "*(code *)(iVar4 + 0x273c)" (* "*") (cast_expression "(code *)(iVar4 + 0x273c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x273c)" (( "(") (binary_expression "iVar4 + 0x273c" (identifier "iVar4") (+ "+") (number_literal "0x273c")) () ")")))) () ")")) (argument_list "(*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210)" (( "(") (pointer_expression "*(undefined4 *)((int)piVar27 + iVar36)" (* "*") (cast_expression "(undefined4 *)((int)piVar27 + iVar36)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar27 + iVar36)" (( "(") (binary_expression "(int)piVar27 + iVar36" (cast_expression "(int)piVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar27")) (+ "+") (identifier "iVar36")) () ")")))) (, ",") (pointer_expression "&pppppcStack_210" (& "&") (identifier "pppppcStack_210")) () ")")))) (; ";")) (if_statement "if (0 < (int)pppppcStack_210) {\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }" (if "if") (parenthesized_expression "(0 < (int)pppppcStack_210)" (( "(") (binary_expression "0 < (int)pppppcStack_210" (number_literal "0") (< "<") (cast_expression "(int)pppppcStack_210" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcStack_210"))) () ")")) (compound_statement "{\n            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);\n          }" ({ "{") (expression_statement "(**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);" (call_expression "(**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d84))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53d84)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53d84)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53d84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53d84)" (( "(") (binary_expression "pcVar42 + 0x53d84" (identifier "pcVar42") (+ "+") (number_literal "0x53d84")) () ")"))))) () ")")) (argument_list "(iVar6,uVar15)" (( "(") (identifier "iVar6") (, ",") (identifier "uVar15") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0" (pointer_expression "*(undefined1 *)(iVar6 + (int)pppppcStack_210)" (* "*") (cast_expression "(undefined1 *)(iVar6 + (int)pppppcStack_210)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + (int)pppppcStack_210)" (( "(") (binary_expression "iVar6 + (int)pppppcStack_210" (identifier "iVar6") (+ "+") (cast_expression "(int)pppppcStack_210" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcStack_210"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)(iVar7 + 0x1120))(iVar6);" (call_expression "(*(code *)(iVar7 + 0x1120))(iVar6)" (parenthesized_expression "(*(code *)(iVar7 + 0x1120))" (( "(") (pointer_expression "*(code *)(iVar7 + 0x1120)" (* "*") (cast_expression "(code *)(iVar7 + 0x1120)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1120)" (( "(") (binary_expression "iVar7 + 0x1120" (identifier "iVar7") (+ "+") (number_literal "0x1120")) () ")")))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);" (assignment_expression "piVar16 = (int *)((int)ppppppcVar5[7] + iVar36)" (identifier "piVar16") (= "=") (cast_expression "(int *)((int)ppppppcVar5[7] + iVar36)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar5[7] + iVar36)" (( "(") (binary_expression "(int)ppppppcVar5[7] + iVar36" (cast_expression "(int)ppppppcVar5[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar5[7]" (identifier "ppppppcVar5") ([ "[") (number_literal "7") (] "]"))) (+ "+") (identifier "iVar36")) () ")")))) (; ";")) (expression_statement "iVar36 = iVar36 + 4;" (assignment_expression "iVar36 = iVar36 + 4" (identifier "iVar36") (= "=") (binary_expression "iVar36 + 4" (identifier "iVar36") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*piVar16 = iVar6;" (assignment_expression "*piVar16 = iVar6" (pointer_expression "*piVar16" (* "*") (identifier "piVar16")) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "iVar6 = (int)pppppcStack_210 + iVar6 + 1;" (assignment_expression "iVar6 = (int)pppppcStack_210 + iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "(int)pppppcStack_210 + iVar6 + 1" (binary_expression "(int)pppppcStack_210 + iVar6" (cast_expression "(int)pppppcStack_210" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcStack_210")) (+ "+") (identifier "iVar6")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)pppppcVar29 * 4 != iVar36)" (( "(") (binary_expression "(int)pppppcVar29 * 4 != iVar36" (binary_expression "(int)pppppcVar29 * 4" (cast_expression "(int)pppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar29")) (* "*") (number_literal "4")) (!= "!=") (identifier "iVar36")) () ")")) (; ";")) (expression_statement "pppppcVar25 = (code *****)0x0;" (assignment_expression "pppppcVar25 = (code *****)0x0" (identifier "pppppcVar25") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        } while (pppppcVar25 != pppppcVar29);" (do "do") (compound_statement "{\n          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);\n          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);\n        }" ({ "{") (expression_statement "(**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);" (call_expression "(**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25])" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d18))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53d18)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53d18)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53d18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53d18)" (( "(") (binary_expression "pcVar42 + 0x53d18" (identifier "pcVar42") (+ "+") (number_literal "0x53d18")) () ")"))))) () ")")) (argument_list "(ppppppcVar5[7][(int)pppppcVar25])" (( "(") (subscript_expression "ppppppcVar5[7][(int)pppppcVar25]" (subscript_expression "ppppppcVar5[7]" (identifier "ppppppcVar5") ([ "[") (number_literal "7") (] "]")) ([ "[") (cast_expression "(int)pppppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar25")) (] "]")) () ")"))) (; ";")) (expression_statement "pppppcVar25 = (code *****)((int)pppppcVar25 + 1);" (assignment_expression "pppppcVar25 = (code *****)((int)pppppcVar25 + 1)" (identifier "pppppcVar25") (= "=") (cast_expression "(code *****)((int)pppppcVar25 + 1)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)pppppcVar25 + 1)" (( "(") (binary_expression "(int)pppppcVar25 + 1" (cast_expression "(int)pppppcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar25")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppppcVar25 != pppppcVar29)" (( "(") (binary_expression "pppppcVar25 != pppppcVar29" (identifier "pppppcVar25") (!= "!=") (identifier "pppppcVar29")) () ")")) (; ";")) (} "}"))) (expression_statement "ppppppcVar31 = &pppppcStack_210;" (assignment_expression "ppppppcVar31 = &pppppcStack_210" (identifier "ppppppcVar31") (= "=") (pointer_expression "&pppppcStack_210" (& "&") (identifier "pppppcStack_210"))) (; ";")) (expression_statement "pppppcStack_210 = (code *****)0x0;" (assignment_expression "pppppcStack_210 = (code *****)0x0" (identifier "pppppcStack_210") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (ppppppcVar5[10] == (code *****)0x0) {\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }\n      else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }" (if "if") (parenthesized_expression "(ppppppcVar5[10] == (code *****)0x0)" (( "(") (binary_expression "ppppppcVar5[10] == (code *****)0x0" (subscript_expression "ppppppcVar5[10]" (identifier "ppppppcVar5") ([ "[") (number_literal "10") (] "]")) (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar4 = *(int *)(pcVar42 + 0x5393c);\n        pppppcStack_210 = (code *****)0x0;\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }\n        (**(code **)(pcVar42 + 0x53974))(0);\n      }" ({ "{") (expression_statement "iVar4 = *(int *)(pcVar42 + 0x5393c);" (assignment_expression "iVar4 = *(int *)(pcVar42 + 0x5393c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar42 + 0x5393c)" (* "*") (cast_expression "(int *)(pcVar42 + 0x5393c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x5393c)" (( "(") (binary_expression "pcVar42 + 0x5393c" (identifier "pcVar42") (+ "+") (number_literal "0x5393c")) () ")"))))) (; ";")) (expression_statement "pppppcStack_210 = (code *****)0x0;" (assignment_expression "pppppcStack_210 = (code *****)0x0" (identifier "pppppcStack_210") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);" (assignment_expression "pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" (identifier "pcVar40") (= "=") (cast_expression "(code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53a58) + -0x70d4" (pointer_expression "*(int *)(pcVar42 + 0x53a58)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53a58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53a58)" (( "(") (binary_expression "pcVar42 + 0x53a58" (identifier "pcVar42") (+ "+") (number_literal "0x53a58")) () ")")))) (+ "+") (number_literal "-0x70d4")) () ")")))) (; ";")) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610)" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610)" (( "(") (pointer_expression "&pppppcStack_218" (& "&") (identifier "pppppcStack_218")) (, ",") (identifier "ppppppcVar31") (, ",") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3610" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x3610")) () ")"))) (; ";")) (if_statement "if (0 < (int)ppppppcVar5[6]) {\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }" (if "if") (parenthesized_expression "(0 < (int)ppppppcVar5[6])" (( "(") (binary_expression "0 < (int)ppppppcVar5[6]" (number_literal "0") (< "<") (cast_expression "(int)ppppppcVar5[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar5[6]" (identifier "ppppppcVar5") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n          iVar7 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);\n        }" ({ "{") (expression_statement "iVar7 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar7 = *(int *)(pcVar42 + 0x53950)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")"))))) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          } while (iVar36 < (int)ppppppcVar5[6]);" (do "do") (compound_statement "{\n            iVar36 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);\n            iVar6 = iVar36;\n          }" ({ "{") (expression_statement "iVar36 = iVar6 + 1;" (assignment_expression "iVar36 = iVar6 + 1" (identifier "iVar36") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6]);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6])" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,\n                       ppppppcVar5[7][iVar6])" (( "(") (pointer_expression "&pppppcStack_218" (& "&") (identifier "pppppcStack_218")) (, ",") (identifier "ppppppcVar31") (, ",") (binary_expression "iVar7 + -0x3608" (identifier "iVar7") (+ "+") (number_literal "-0x3608")) (, ",") (binary_expression "iVar4 + 0x53f4" (identifier "iVar4") (+ "+") (number_literal "0x53f4")) (, ",") (identifier "iVar6") (, ",") (subscript_expression "ppppppcVar5[7][iVar6]" (subscript_expression "ppppppcVar5[7]" (identifier "ppppppcVar5") ([ "[") (number_literal "7") (] "]")) ([ "[") (identifier "iVar6") (] "]")) () ")"))) (; ";")) (expression_statement "iVar6 = iVar36;" (assignment_expression "iVar6 = iVar36" (identifier "iVar6") (= "=") (identifier "iVar36")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar36 < (int)ppppppcVar5[6])" (( "(") (binary_expression "iVar36 < (int)ppppppcVar5[6]" (identifier "iVar36") (< "<") (cast_expression "(int)ppppppcVar5[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar5[6]" (identifier "ppppppcVar5") ([ "[") (number_literal "6") (] "]")))) () ")")) (; ";")) (} "}"))) (if_statement "if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }" (if "if") (parenthesized_expression "(ppppppcVar5[0xb] != (code *****)0x0)" (( "(") (binary_expression "ppppppcVar5[0xb] != (code *****)0x0" (subscript_expression "ppppppcVar5[0xb]" (identifier "ppppppcVar5") ([ "[") (number_literal "0xb") (] "]")) (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);\n        }" ({ "{") (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594)" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,\n                     *(int *)(pcVar42 + 0x53950) + -0x3594)" (( "(") (pointer_expression "&pppppcStack_218" (& "&") (identifier "pppppcStack_218")) (, ",") (identifier "ppppppcVar31") (, ",") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x35f8" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x35f8")) (, ",") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3594" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x3594")) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53974)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53974)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53974)" (( "(") (binary_expression "pcVar42 + 0x53974" (identifier "pcVar42") (+ "+") (number_literal "0x53974")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }" (else "else") (compound_statement "{\n        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);\n        if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }\n        if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }\n      }" ({ "{") (expression_statement "pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);" (assignment_expression "pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" (identifier "pcVar40") (= "=") (cast_expression "(code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar42 + 0x53a58) + -0x70d4)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53a58) + -0x70d4" (pointer_expression "*(int *)(pcVar42 + 0x53a58)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53a58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53a58)" (( "(") (binary_expression "pcVar42 + 0x53a58" (identifier "pcVar42") (+ "+") (number_literal "0x53a58")) () ")")))) (+ "+") (number_literal "-0x70d4")) () ")")))) (; ";")) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714)" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714)" (( "(") (pointer_expression "&pppppcStack_218" (& "&") (identifier "pppppcStack_218")) (, ",") (identifier "ppppppcVar31") (, ",") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x7714" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x7714")) () ")"))) (; ";")) (if_statement "if (0 < (int)ppppppcVar5[6]) {\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }" (if "if") (parenthesized_expression "(0 < (int)ppppppcVar5[6])" (( "(") (binary_expression "0 < (int)ppppppcVar5[6]" (number_literal "0") (< "<") (cast_expression "(int)ppppppcVar5[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar5[6]" (identifier "ppppppcVar5") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n          iVar4 = *(int *)(pcVar42 + 0x53950);\n          iVar6 = 0;\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);\n        }" ({ "{") (expression_statement "iVar4 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar4 = *(int *)(pcVar42 + 0x53950)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")"))))) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          } while (iVar6 < (int)ppppppcVar5[6]);" (do "do") (compound_statement "{\n            pppppcVar25 = ppppppcVar5[7] + iVar6;\n            iVar6 = iVar6 + 1;\n            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);\n          }" ({ "{") (expression_statement "pppppcVar25 = ppppppcVar5[7] + iVar6;" (assignment_expression "pppppcVar25 = ppppppcVar5[7] + iVar6" (identifier "pppppcVar25") (= "=") (binary_expression "ppppppcVar5[7] + iVar6" (subscript_expression "ppppppcVar5[7]" (identifier "ppppppcVar5") ([ "[") (number_literal "7") (] "]")) (+ "+") (identifier "iVar6"))) (; ";")) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25)" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25)" (( "(") (pointer_expression "&pppppcStack_218" (& "&") (identifier "pppppcStack_218")) (, ",") (identifier "ppppppcVar31") (, ",") (binary_expression "iVar4 + -0x35f0" (identifier "iVar4") (+ "+") (number_literal "-0x35f0")) (, ",") (pointer_expression "*pppppcVar25" (* "*") (identifier "pppppcVar25")) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 < (int)ppppppcVar5[6])" (( "(") (binary_expression "iVar6 < (int)ppppppcVar5[6]" (identifier "iVar6") (< "<") (cast_expression "(int)ppppppcVar5[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar5[6]" (identifier "ppppppcVar5") ([ "[") (number_literal "6") (] "]")))) () ")")) (; ";")) (} "}"))) (if_statement "if (ppppppcVar5[0xb] != (code *****)0x0) {\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }" (if "if") (parenthesized_expression "(ppppppcVar5[0xb] != (code *****)0x0)" (( "(") (binary_expression "ppppppcVar5[0xb] != (code *****)0x0" (subscript_expression "ppppppcVar5[0xb]" (identifier "ppppppcVar5") ([ "[") (number_literal "0xb") (] "]")) (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);\n        }" ({ "{") (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8)" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8)" (( "(") (pointer_expression "&pppppcStack_218" (& "&") (identifier "pppppcStack_218")) (, ",") (identifier "ppppppcVar31") (, ",") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x35f8" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x35f8")) () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "in_stack_fffffd68 = ppppppcVar5[10];" (assignment_expression "in_stack_fffffd68 = ppppppcVar5[10]" (identifier "in_stack_fffffd68") (= "=") (subscript_expression "ppppppcVar5[10]" (identifier "ppppppcVar5") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "ppppppcVar35 = (code ******)ppppppcVar5[4];" (assignment_expression "ppppppcVar35 = (code ******)ppppppcVar5[4]" (identifier "ppppppcVar35") (= "=") (cast_expression "(code ******)ppppppcVar5[4]" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppcVar5[4]" (identifier "ppppppcVar5") ([ "[") (number_literal "4") (] "]")))) (; ";")) (if_statement "if (in_stack_fffffd68 == (code *****)0x0) {\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }\n      else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }" (if "if") (parenthesized_expression "(in_stack_fffffd68 == (code *****)0x0)" (( "(") (binary_expression "in_stack_fffffd68 == (code *****)0x0" (identifier "in_stack_fffffd68") (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        in_stack_fffffd68 = ppppppcVar5[5];\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;\n      }" ({ "{") (expression_statement "in_stack_fffffd68 = ppppppcVar5[5];" (assignment_expression "in_stack_fffffd68 = ppppppcVar5[5]" (identifier "in_stack_fffffd68") (= "=") (subscript_expression "ppppppcVar5[5]" (identifier "ppppppcVar5") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;" (assignment_expression "in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000" (identifier "in_stack_fffffd6c") (= "=") (binary_expression "*(int *)(pcVar42 + 0x53950) + -14000" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-14000"))) (; ";")) (} "}")) (else_clause "else {\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }" (else "else") (compound_statement "{\n        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;\n      }" ({ "{") (expression_statement "in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;" (assignment_expression "in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4" (identifier "in_stack_fffffd6c") (= "=") (binary_expression "*(int *)(pcVar42 + 0x5393c) + 0x53f4" (pointer_expression "*(int *)(pcVar42 + 0x5393c)" (* "*") (cast_expression "(int *)(pcVar42 + 0x5393c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x5393c)" (( "(") (binary_expression "pcVar42 + 0x5393c" (identifier "pcVar42") (+ "+") (number_literal "0x5393c")) () ")")))) (+ "+") (number_literal "0x53f4"))) (; ";")) (} "}")))) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c)" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,\n                 in_stack_fffffd68,in_stack_fffffd6c)" (( "(") (pointer_expression "&pppppcStack_218" (& "&") (identifier "pppppcStack_218")) (, ",") (identifier "ppppppcVar31") (, ",") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x35e4" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x35e4")) (, ",") (identifier "ppppppcVar35") (, ",") (identifier "in_stack_fffffd68") (, ",") (identifier "in_stack_fffffd6c") () ")"))) (; ";")) (expression_statement "ppppppcVar5[0x37] = pppppcStack_210;" (assignment_expression "ppppppcVar5[0x37] = pppppcStack_210" (subscript_expression "ppppppcVar5[0x37]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x37") (] "]")) (= "=") (identifier "pppppcStack_210")) (; ";")) (expression_statement "iVar4 = *(int *)(pcVar42 + 0x5393c);" (assignment_expression "iVar4 = *(int *)(pcVar42 + 0x5393c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar42 + 0x5393c)" (* "*") (cast_expression "(int *)(pcVar42 + 0x5393c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x5393c)" (( "(") (binary_expression "pcVar42 + 0x5393c" (identifier "pcVar42") (+ "+") (number_literal "0x5393c")) () ")"))))) (; ";")) (expression_statement "pppppcStack_210 = (code *****)0x0;" (assignment_expression "pppppcStack_210 = (code *****)0x0" (identifier "pppppcStack_210") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar31")) (; ";")) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774)" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774)" (( "(") (pointer_expression "&pppppcStack_218" (& "&") (identifier "pppppcStack_218")) (, ",") (identifier "ppppppcVar31") (, ",") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x4774" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x4774")) () ")"))) (; ";")) (if_statement "if (0 < (int)ppppppcVar5[6]) {\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }" (if "if") (parenthesized_expression "(0 < (int)ppppppcVar5[6])" (( "(") (binary_expression "0 < (int)ppppppcVar5[6]" (number_literal "0") (< "<") (cast_expression "(int)ppppppcVar5[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar5[6]" (identifier "ppppppcVar5") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n        iVar7 = *(int *)(pcVar42 + 0x53950);\n        iVar6 = 0;\n        do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);\n      }" ({ "{") (expression_statement "iVar7 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar7 = *(int *)(pcVar42 + 0x53950)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")"))))) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        } while (iVar6 < (int)ppppppcVar5[6]);" (do "do") (compound_statement "{\n          ppppppcVar21 = ppppppcVar31;\n          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);\n          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);\n          iVar6 = iVar6 + 1;\n        }" ({ "{") (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar31")) (; ";")) (expression_statement "ppppppcVar35 = (code ******)(iVar4 + 0x53f4);" (assignment_expression "ppppppcVar35 = (code ******)(iVar4 + 0x53f4)" (identifier "ppppppcVar35") (= "=") (cast_expression "(code ******)(iVar4 + 0x53f4)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(iVar4 + 0x53f4)" (( "(") (binary_expression "iVar4 + 0x53f4" (identifier "iVar4") (+ "+") (number_literal "0x53f4")) () ")")))) (; ";")) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc)" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc)" (( "(") (pointer_expression "&pppppcStack_218" (& "&") (identifier "pppppcStack_218")) (, ",") (identifier "ppppppcVar31") (, ",") (binary_expression "iVar7 + -0x35cc" (identifier "iVar7") (+ "+") (number_literal "-0x35cc")) () ")"))) (; ";")) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 < (int)ppppppcVar5[6])" (( "(") (binary_expression "iVar6 < (int)ppppppcVar5[6]" (identifier "iVar6") (< "<") (cast_expression "(int)ppppppcVar5[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar5[6]" (identifier "ppppppcVar5") ([ "[") (number_literal "6") (] "]")))) () ")")) (; ";")) (} "}"))) (expression_statement "ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);" (assignment_expression "ppppppcVar28 = *(code *******)(pcVar42 + 0x53950)" (identifier "ppppppcVar28") (= "=") (pointer_expression "*(code *******)(pcVar42 + 0x53950)" (* "*") (cast_expression "(code *******)(pcVar42 + 0x53950)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")"))))) (; ";")) (if_statement "if (ppppppcVar5[0xb] != (code *****)0x0) {\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }" (if "if") (parenthesized_expression "(ppppppcVar5[0xb] != (code *****)0x0)" (( "(") (binary_expression "ppppppcVar5[0xb] != (code *****)0x0" (subscript_expression "ppppppcVar5[0xb]" (identifier "ppppppcVar5") ([ "[") (number_literal "0xb") (] "]")) (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        ppppppcVar28 = ppppppcVar28 + -0xd71;\n        ppppppcVar21 = ppppppcVar31;\n        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);\n      }" ({ "{") (expression_statement "ppppppcVar28 = ppppppcVar28 + -0xd71;" (assignment_expression "ppppppcVar28 = ppppppcVar28 + -0xd71" (identifier "ppppppcVar28") (= "=") (binary_expression "ppppppcVar28 + -0xd71" (identifier "ppppppcVar28") (+ "+") (number_literal "-0xd71"))) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar31")) (; ";")) (expression_statement "(*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);" (call_expression "(*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28)" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "(&pppppcStack_218,ppppppcVar31,ppppppcVar28)" (( "(") (pointer_expression "&pppppcStack_218" (& "&") (identifier "pppppcStack_218")) (, ",") (identifier "ppppppcVar31") (, ",") (identifier "ppppppcVar28") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53974)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53974)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53974)" (( "(") (binary_expression "pcVar42 + 0x53974" (identifier "pcVar42") (+ "+") (number_literal "0x53974")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "ppppppcVar5[0x38] = pppppcStack_210;" (assignment_expression "ppppppcVar5[0x38] = pppppcStack_210" (subscript_expression "ppppppcVar5[0x38]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x38") (] "]")) (= "=") (identifier "pppppcStack_210")) (; ";")) (if_statement "if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;" (if "if") (parenthesized_expression "((code ******)pppppcStack_218 != (code ******)0x0)" (( "(") (binary_expression "(code ******)pppppcStack_218 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_218" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_218")) (!= "!=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00107f4c;" (goto "goto") (statement_identifier "LAB_00107f4c") (; ";"))) (if_statement "if ((code ******)pppppcStack_1a0 == (code ******)0x0) {\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }\n      else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }" (if "if") (parenthesized_expression "((code ******)pppppcStack_1a0 == (code ******)0x0)" (( "(") (binary_expression "(code ******)pppppcStack_1a0 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_1a0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_1a0")) (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }\n      }" ({ "{") (if_statement "if (cVar1 != '4') {\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }" (if "if") (parenthesized_expression "(cVar1 != '4')" (( "(") (binary_expression "cVar1 != '4'" (identifier "cVar1") (!= "!=") (char_literal "'4'" (' "'") (character "4") (' "'"))) () ")")) (compound_statement "{\n          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;\n        }" ({ "{") (expression_statement "*(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;" (assignment_expression "*(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2" (pointer_expression "*(code *)((int)ppppppcVar5 + 0xe9)" (* "*") (cast_expression "(code *)((int)ppppppcVar5 + 0xe9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar5 + 0xe9)" (( "(") (binary_expression "(int)ppppppcVar5 + 0xe9" (cast_expression "(int)ppppppcVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar5")) (+ "+") (number_literal "0xe9")) () ")")))) (= "=") (cast_expression "(code)0x2" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }" (else "else") (compound_statement "{\n        pppppcStack_210 = (code *****)0x0;\n        ppppppcVar17 = (code ******)ppppppcVar5[3];\n        if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }\n        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);\n        in_stack_fffffd68 = ppppppcVar5[5];\n        ppppppcVar35 = (code ******)ppppppcVar5[4];\n        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);\n        ppppppcVar21 = ppppppcVar17;\n        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }\n        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }\n        pppppcStack_218 = pppppcStack_210;\n        if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }\n      }" ({ "{") (expression_statement "pppppcStack_210 = (code *****)0x0;" (assignment_expression "pppppcStack_210 = (code *****)0x0" (identifier "pppppcStack_210") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar17 = (code ******)ppppppcVar5[3];" (assignment_expression "ppppppcVar17 = (code ******)ppppppcVar5[3]" (identifier "ppppppcVar17") (= "=") (cast_expression "(code ******)ppppppcVar5[3]" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppcVar5[3]" (identifier "ppppppcVar5") ([ "[") (number_literal "3") (] "]")))) (; ";")) (if_statement "if (ppppppcVar5[10] == (code *****)0x0) {\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }" (if "if") (parenthesized_expression "(ppppppcVar5[10] == (code *****)0x0)" (( "(") (binary_expression "ppppppcVar5[10] == (code *****)0x0" (subscript_expression "ppppppcVar5[10]" (identifier "ppppppcVar5") ([ "[") (number_literal "10") (] "]")) (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          pppppcVar25 = ppppppcVar5[0xb];\n          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);\n          if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }\n          in_stack_fffffd6c = iVar4;\n          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);\n          (**(code **)(pcVar42 + 0x53974))(iVar4);\n        }" ({ "{") (expression_statement "pppppcVar25 = ppppppcVar5[0xb];" (assignment_expression "pppppcVar25 = ppppppcVar5[0xb]" (identifier "pppppcVar25") (= "=") (subscript_expression "ppppppcVar5[0xb]" (identifier "ppppppcVar5") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (expression_statement "iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);" (assignment_expression "iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x5397c)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x5397c)" (* "*") (cast_expression "(code **)(pcVar42 + 0x5397c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x5397c)" (( "(") (binary_expression "pcVar42 + 0x5397c" (identifier "pcVar42") (+ "+") (number_literal "0x5397c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x35c0)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x35c0" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x35c0")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }\n          else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00109454:\n            iVar4 = 0;\n            pppppcStack_210 = (code *****)&DAT_00000007;\n          }" ({ "{") (labeled_statement "LAB_00109454:\n            iVar4 = 0;" (statement_identifier "LAB_00109454") (: ":") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";"))) (expression_statement "pppppcStack_210 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_210 = (code *****)&DAT_00000007" (identifier "pppppcStack_210") (= "=") (cast_expression "(code *****)&DAT_00000007" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (} "}")) (else_clause "else {\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }" (else "else") (compound_statement "{\n            iVar6 = *(int *)(pcVar42 + 0x53950);\n            if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }\n            if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;\n          }" ({ "{") (expression_statement "iVar6 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar6 = *(int *)(pcVar42 + 0x53950)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")"))))) (; ";")) (if_statement "if (0 < (int)ppppppcVar5[6]) {\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }" (if "if") (parenthesized_expression "(0 < (int)ppppppcVar5[6])" (( "(") (binary_expression "0 < (int)ppppppcVar5[6]" (number_literal "0") (< "<") (cast_expression "(int)ppppppcVar5[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar5[6]" (identifier "ppppppcVar5") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n              iVar7 = 0;\n              do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);\n            }" ({ "{") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              } while (iVar36 < (int)ppppppcVar5[6]);" (do "do") (compound_statement "{\n                iVar36 = iVar7 + 1;\n                iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);\n                if (iVar4 == 0) goto LAB_00109454;\n                iVar7 = iVar36;\n              }" ({ "{") (expression_statement "iVar36 = iVar7 + 1;" (assignment_expression "iVar36 = iVar7 + 1" (identifier "iVar36") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);" (assignment_expression "iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7])" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7])" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x5397c)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x5397c)" (* "*") (cast_expression "(code **)(pcVar42 + 0x5397c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x5397c)" (( "(") (binary_expression "pcVar42 + 0x5397c" (identifier "pcVar42") (+ "+") (number_literal "0x5397c")) () ")"))))) () ")")) (argument_list "(iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7])" (( "(") (binary_expression "iVar6 + -0x35a4" (identifier "iVar6") (+ "+") (number_literal "-0x35a4")) (, ",") (identifier "iVar4") (, ",") (identifier "iVar7") (, ",") (subscript_expression "ppppppcVar5[7][iVar7]" (subscript_expression "ppppppcVar5[7]" (identifier "ppppppcVar5") ([ "[") (number_literal "7") (] "]")) ([ "[") (identifier "iVar7") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_00109454;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00109454;" (goto "goto") (statement_identifier "LAB_00109454") (; ";"))) (expression_statement "iVar7 = iVar36;" (assignment_expression "iVar7 = iVar36" (identifier "iVar7") (= "=") (identifier "iVar36")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar36 < (int)ppppppcVar5[6])" (( "(") (binary_expression "iVar36 < (int)ppppppcVar5[6]" (identifier "iVar36") (< "<") (cast_expression "(int)ppppppcVar5[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar5[6]" (identifier "ppppppcVar5") ([ "[") (number_literal "6") (] "]")))) () ")")) (; ";")) (} "}"))) (if_statement "if ((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)) goto LAB_00109454;" (if "if") (parenthesized_expression "((pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0))" (( "(") (binary_expression "(pppppcVar25 != (code *****)0x0) &&\n               (iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)" (parenthesized_expression "(pppppcVar25 != (code *****)0x0)" (( "(") (binary_expression "pppppcVar25 != (code *****)0x0" (identifier "pppppcVar25") (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0)" (( "(") (comma_expression "iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),\n               iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x5397c)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x5397c)" (* "*") (cast_expression "(code **)(pcVar42 + 0x5397c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x5397c)" (( "(") (binary_expression "pcVar42 + 0x5397c" (identifier "pcVar42") (+ "+") (number_literal "0x5397c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3598" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x3598")) (, ",") (identifier "iVar4") (, ",") (identifier "pppppcVar25") () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00109454;" (goto "goto") (statement_identifier "LAB_00109454") (; ";"))) (} "}")))) (expression_statement "in_stack_fffffd6c = iVar4;" (assignment_expression "in_stack_fffffd6c = iVar4" (identifier "in_stack_fffffd6c") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4);" (call_expression "FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4)" (identifier "FUN_00100978") (argument_list "(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,\n                       ppppppcVar5[4],ppppppcVar5[5],iVar4)" (( "(") (identifier "ppppppcVar31") (, ",") (identifier "ppppppcVar17") (, ",") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x358c" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x358c")) (, ",") (subscript_expression "ppppppcVar5[4]" (identifier "ppppppcVar5") ([ "[") (number_literal "4") (] "]")) (, ",") (subscript_expression "ppppppcVar5[5]" (identifier "ppppppcVar5") ([ "[") (number_literal "5") (] "]")) (, ",") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar42 + 0x53974))(iVar4);" (call_expression "(**(code **)(pcVar42 + 0x53974))(iVar4)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53974)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53974)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53974)" (( "(") (binary_expression "pcVar42 + 0x53974" (identifier "pcVar42") (+ "+") (number_literal "0x53974")) () ")"))))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5]);" (call_expression "FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5])" (identifier "FUN_00100978") (argument_list "(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],\n                     ppppppcVar5[5])" (( "(") (identifier "ppppppcVar31") (, ",") (identifier "ppppppcVar17") (, ",") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3568" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x3568")) (, ",") (subscript_expression "ppppppcVar5[4]" (identifier "ppppppcVar5") ([ "[") (number_literal "4") (] "]")) (, ",") (subscript_expression "ppppppcVar5[5]" (identifier "ppppppcVar5") ([ "[") (number_literal "5") (] "]")) () ")"))) (; ";")) (expression_statement "in_stack_fffffd68 = ppppppcVar5[5];" (assignment_expression "in_stack_fffffd68 = ppppppcVar5[5]" (identifier "in_stack_fffffd68") (= "=") (subscript_expression "ppppppcVar5[5]" (identifier "ppppppcVar5") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "ppppppcVar35 = (code ******)ppppppcVar5[4];" (assignment_expression "ppppppcVar35 = (code ******)ppppppcVar5[4]" (identifier "ppppppcVar35") (= "=") (cast_expression "(code ******)ppppppcVar5[4]" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppcVar5[4]" (identifier "ppppppcVar5") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);" (assignment_expression "ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520)" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x3520)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3520" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x3520")) () ")")))) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar17;" (assignment_expression "ppppppcVar21 = ppppppcVar17" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar17")) (; ";")) (expression_statement "FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);" (call_expression "FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68)" (identifier "FUN_00100978") (argument_list "(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68)" (( "(") (identifier "ppppppcVar31") (, ",") (identifier "ppppppcVar17") (, ",") (identifier "ppppppcVar28") (, ",") (identifier "ppppppcVar35") (, ",") (identifier "in_stack_fffffd68") () ")"))) (; ";")) (if_statement "if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }" (if "if") (parenthesized_expression "(*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0)" (( "(") (binary_expression "*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0" (pointer_expression "*(code *)((int)ppppppcVar5 + 0xea)" (* "*") (cast_expression "(code *)((int)ppppppcVar5 + 0xea)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar5 + 0xea)" (( "(") (binary_expression "(int)ppppppcVar5 + 0xea" (cast_expression "(int)ppppppcVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar5")) (+ "+") (number_literal "0xea")) () ")")))) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          in_stack_fffffd68 = ppppppcVar5[5];\n          ppppppcVar35 = (code ******)ppppppcVar5[4];\n          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);\n          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);\n          ppppppcVar21 = ppppppcVar17;\n        }" ({ "{") (expression_statement "in_stack_fffffd68 = ppppppcVar5[5];" (assignment_expression "in_stack_fffffd68 = ppppppcVar5[5]" (identifier "in_stack_fffffd68") (= "=") (subscript_expression "ppppppcVar5[5]" (identifier "ppppppcVar5") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "ppppppcVar35 = (code ******)ppppppcVar5[4];" (assignment_expression "ppppppcVar35 = (code ******)ppppppcVar5[4]" (identifier "ppppppcVar35") (= "=") (cast_expression "(code ******)ppppppcVar5[4]" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppcVar5[4]" (identifier "ppppppcVar5") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);" (assignment_expression "ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484)" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x3484)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3484" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x3484")) () ")")))) (; ";")) (expression_statement "FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);" (call_expression "FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68)" (identifier "FUN_00100978") (argument_list "(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68)" (( "(") (identifier "ppppppcVar31") (, ",") (identifier "ppppppcVar17") (, ",") (identifier "ppppppcVar28") (, ",") (identifier "ppppppcVar35") (, ",") (identifier "in_stack_fffffd68") () ")"))) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar17;" (assignment_expression "ppppppcVar21 = ppppppcVar17" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar17")) (; ";")) (} "}"))) (if_statement "if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }" (if "if") (parenthesized_expression "(*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0)" (( "(") (binary_expression "*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0" (pointer_expression "*(code *)((int)ppppppcVar5 + 0xe9)" (* "*") (cast_expression "(code *)((int)ppppppcVar5 + 0xe9)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar5 + 0xe9)" (( "(") (binary_expression "(int)ppppppcVar5 + 0xe9" (cast_expression "(int)ppppppcVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar5")) (+ "+") (number_literal "0xe9")) () ")")))) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          ppppppcVar21 = ppppppcVar5;\n          FUN_00100a58(ppppppcVar31,ppppppcVar5);\n        }" ({ "{") (expression_statement "ppppppcVar21 = ppppppcVar5;" (assignment_expression "ppppppcVar21 = ppppppcVar5" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar5")) (; ";")) (expression_statement "FUN_00100a58(ppppppcVar31,ppppppcVar5);" (call_expression "FUN_00100a58(ppppppcVar31,ppppppcVar5)" (identifier "FUN_00100a58") (argument_list "(ppppppcVar31,ppppppcVar5)" (( "(") (identifier "ppppppcVar31") (, ",") (identifier "ppppppcVar5") () ")"))) (; ";")) (} "}"))) (expression_statement "pppppcStack_218 = pppppcStack_210;" (assignment_expression "pppppcStack_218 = pppppcStack_210" (identifier "pppppcStack_218") (= "=") (identifier "pppppcStack_210")) (; ";")) (if_statement "if ((code ******)pppppcStack_210 != (code ******)0x0) {\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }" (if "if") (parenthesized_expression "((code ******)pppppcStack_210 != (code ******)0x0)" (( "(") (binary_expression "(code ******)pppppcStack_210 != (code ******)0x0" (cast_expression "(code ******)pppppcStack_210" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_210")) (!= "!=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n          goto LAB_00107f4c;\n        }" ({ "{") (expression_statement "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);" (assignment_expression "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23)" (subscript_expression "ppppppcVar5[0x39]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x39") (] "]")) (= "=") (cast_expression "(code *****)((int)ppppppcVar5[0x3c] - 0x23)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)ppppppcVar5[0x3c] - 0x23)" (( "(") (binary_expression "(int)ppppppcVar5[0x3c] - 0x23" (cast_expression "(int)ppppppcVar5[0x3c]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar5[0x3c]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x3c") (] "]"))) (- "-") (number_literal "0x23")) () ")")))) (; ";")) (goto_statement "goto LAB_00107f4c;" (goto "goto") (statement_identifier "LAB_00107f4c") (; ";")) (} "}"))) (} "}")))) (expression_statement "ppppppcVar21 = (code ******)ppppppcVar5[4];" (assignment_expression "ppppppcVar21 = (code ******)ppppppcVar5[4]" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)ppppppcVar5[4]" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppcVar5[4]" (identifier "ppppppcVar5") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);" (assignment_expression "ppppppcVar17 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21)" (identifier "ppppppcVar17") (= "=") (cast_expression "(code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x5397c)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x5397c)" (* "*") (cast_expression "(code **)(pcVar42 + 0x5397c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x5397c)" (( "(") (binary_expression "pcVar42 + 0x5397c" (identifier "pcVar42") (+ "+") (number_literal "0x5397c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x33d4" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x33d4")) (, ",") (identifier "ppppppcVar21") () ")"))))) (; ";")) (if_statement "if (ppppppcVar17 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }" (if "if") (parenthesized_expression "(ppppppcVar17 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar17 == (code ******)0x0" (identifier "ppppppcVar17") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (**(code **)(pcVar42 + 0x53974))(0);\n        pppppcStack_218 = (code *****)&DAT_00000007;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        goto LAB_00107f4c;\n      }" ({ "{") (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53974)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53974)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53974)" (( "(") (binary_expression "pcVar42 + 0x53974" (identifier "pcVar42") (+ "+") (number_literal "0x53974")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "pppppcStack_218 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_218 = (code *****)&DAT_00000007" (identifier "pppppcStack_218") (= "=") (cast_expression "(code *****)&DAT_00000007" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (expression_statement "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);" (assignment_expression "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23)" (subscript_expression "ppppppcVar5[0x39]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x39") (] "]")) (= "=") (cast_expression "(code *****)((int)ppppppcVar5[0x3c] - 0x23)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)ppppppcVar5[0x3c] - 0x23)" (( "(") (binary_expression "(int)ppppppcVar5[0x3c] - 0x23" (cast_expression "(int)ppppppcVar5[0x3c]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar5[0x3c]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x3c") (] "]"))) (- "-") (number_literal "0x23")) () ")")))) (; ";")) (goto_statement "goto LAB_00107f4c;" (goto "goto") (statement_identifier "LAB_00107f4c") (; ";")) (} "}"))) (expression_statement "ppppppcVar28 = (code ******)0xffffffff;" (assignment_expression "ppppppcVar28 = (code ******)0xffffffff" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)0xffffffff" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "in_stack_fffffd68 = (code *****)0x0;" (assignment_expression "in_stack_fffffd68 = (code *****)0x0" (identifier "in_stack_fffffd68") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar17;" (assignment_expression "ppppppcVar21 = ppppppcVar17" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar17")) (; ";")) (expression_statement "ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);" (assignment_expression "ppppppcVar38 = (code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0)" (identifier "ppppppcVar38") (= "=") (cast_expression "(code ******)\n                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0)" (identifier "sqlite3_prepare") (argument_list "(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0)" (( "(") (subscript_expression "ppppppcVar5[3]" (identifier "ppppppcVar5") ([ "[") (number_literal "3") (] "]")) (, ",") (identifier "ppppppcVar17") (, ",") (number_literal "0xffffffff") (, ",") (identifier "ppppppcVar31") (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (ppppppcVar38 == (code ******)0x0) {\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }\n      else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }" (if "if") (parenthesized_expression "(ppppppcVar38 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar38 == (code ******)0x0" (identifier "ppppppcVar38") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);\n        ppppppcVar21 = (code ******)0x0;\n        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);\n        ppppppcVar5[0x3c] = pppppcVar25;\n        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);\n        ppppppcVar35 = ppppppcVar31;\nLAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n        pppppcStack_218 = (code *****)ppppppcVar38;\n        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;\n      }" ({ "{") (expression_statement "(**(code **)(pcVar42 + 0x53984))(pppppcStack_210);" (call_expression "(**(code **)(pcVar42 + 0x53984))(pppppcStack_210)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53984))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53984)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53984)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53984)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53984)" (( "(") (binary_expression "pcVar42 + 0x53984" (identifier "pcVar42") (+ "+") (number_literal "0x53984")) () ")"))))) () ")")) (argument_list "(pppppcStack_210)" (( "(") (identifier "pppppcStack_210") () ")"))) (; ";")) (expression_statement "ppppppcVar21 = (code ******)0x0;" (assignment_expression "ppppppcVar21 = (code ******)0x0" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);" (assignment_expression "pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0)" (identifier "pppppcVar25") (= "=") (cast_expression "(code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53998))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53998)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53998)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53998)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53998)" (( "(") (binary_expression "pcVar42 + 0x53998" (identifier "pcVar42") (+ "+") (number_literal "0x53998")) () ")"))))) () ")")) (argument_list "(pppppcStack_210,0)" (( "(") (identifier "pppppcStack_210") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "ppppppcVar5[0x3c] = pppppcVar25;" (assignment_expression "ppppppcVar5[0x3c] = pppppcVar25" (subscript_expression "ppppppcVar5[0x3c]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x3c") (] "]")) (= "=") (identifier "pppppcVar25")) (; ";")) (expression_statement "ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);" (assignment_expression "ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210)" (identifier "ppppppcVar38") (= "=") (cast_expression "(code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(pcVar42 + 0x53990))(pppppcStack_210)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53990))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53990)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53990)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53990)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53990)" (( "(") (binary_expression "pcVar42 + 0x53990" (identifier "pcVar42") (+ "+") (number_literal "0x53990")) () ")"))))) () ")")) (argument_list "(pppppcStack_210)" (( "(") (identifier "pppppcStack_210") () ")"))))) (; ";")) (expression_statement "ppppppcVar35 = ppppppcVar31;" (assignment_expression "ppppppcVar35 = ppppppcVar31" (identifier "ppppppcVar35") (= "=") (identifier "ppppppcVar31")) (; ";")) (labeled_statement "LAB_001089a8:\n        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);" (statement_identifier "LAB_001089a8") (: ":") (expression_statement "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17);" (call_expression "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53974)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53974)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53974)" (( "(") (binary_expression "pcVar42 + 0x53974" (identifier "pcVar42") (+ "+") (number_literal "0x53974")) () ")"))))) () ")")) (argument_list "(ppppppcVar17)" (( "(") (identifier "ppppppcVar17") () ")"))) (; ";"))) (expression_statement "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);" (assignment_expression "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23)" (subscript_expression "ppppppcVar5[0x39]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x39") (] "]")) (= "=") (cast_expression "(code *****)((int)ppppppcVar5[0x3c] - 0x23)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)ppppppcVar5[0x3c] - 0x23)" (( "(") (binary_expression "(int)ppppppcVar5[0x3c] - 0x23" (cast_expression "(int)ppppppcVar5[0x3c]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar5[0x3c]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x3c") (] "]"))) (- "-") (number_literal "0x23")) () ")")))) (; ";")) (expression_statement "pppppcStack_218 = (code *****)ppppppcVar38;" (assignment_expression "pppppcStack_218 = (code *****)ppppppcVar38" (identifier "pppppcStack_218") (= "=") (cast_expression "(code *****)ppppppcVar38" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar38"))) (; ";")) (if_statement "if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;" (if "if") (parenthesized_expression "(ppppppcVar38 != (code ******)0x0)" (( "(") (binary_expression "ppppppcVar38 != (code ******)0x0" (identifier "ppppppcVar38") (!= "!=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00107f4c;" (goto "goto") (statement_identifier "LAB_00107f4c") (; ";"))) (} "}")) (else_clause "else {\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }" (else "else") (compound_statement "{\n        pcVar40 = *(code **)(pcVar42 + 0x53974);\n        ppppppcVar35 = ppppppcVar31;\n        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;\n        ppppppcVar5[0x3c] = (code *****)0x400;\n        (*pcVar40)(ppppppcVar17);\n        pppppcStack_218 = (code *****)0x0;\n        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);\n      }" ({ "{") (expression_statement "pcVar40 = *(code **)(pcVar42 + 0x53974);" (assignment_expression "pcVar40 = *(code **)(pcVar42 + 0x53974)" (identifier "pcVar40") (= "=") (pointer_expression "*(code **)(pcVar42 + 0x53974)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53974)" (( "(") (binary_expression "pcVar42 + 0x53974" (identifier "pcVar42") (+ "+") (number_literal "0x53974")) () ")"))))) (; ";")) (expression_statement "ppppppcVar35 = ppppppcVar31;" (assignment_expression "ppppppcVar35 = ppppppcVar31" (identifier "ppppppcVar35") (= "=") (identifier "ppppppcVar31")) (; ";")) (if_statement "if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;" (if "if") (parenthesized_expression "(ppppppcVar38 != (code ******)&DAT_00000017)" (( "(") (binary_expression "ppppppcVar38 != (code ******)&DAT_00000017" (identifier "ppppppcVar38") (!= "!=") (cast_expression "(code ******)&DAT_00000017" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000017" (& "&") (identifier "DAT_00000017")))) () ")")) (goto_statement "goto LAB_001089a8;" (goto "goto") (statement_identifier "LAB_001089a8") (; ";"))) (expression_statement "ppppppcVar5[0x3c] = (code *****)0x400;" (assignment_expression "ppppppcVar5[0x3c] = (code *****)0x400" (subscript_expression "ppppppcVar5[0x3c]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x3c") (] "]")) (= "=") (cast_expression "(code *****)0x400" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x400"))) (; ";")) (expression_statement "(*pcVar40)(ppppppcVar17);" (call_expression "(*pcVar40)(ppppppcVar17)" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "(ppppppcVar17)" (( "(") (identifier "ppppppcVar17") () ")"))) (; ";")) (expression_statement "pppppcStack_218 = (code *****)0x0;" (assignment_expression "pppppcStack_218 = (code *****)0x0" (identifier "pppppcStack_218") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);" (assignment_expression "ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23)" (subscript_expression "ppppppcVar5[0x39]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x39") (] "]")) (= "=") (cast_expression "(code *****)((int)ppppppcVar5[0x3c] - 0x23)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)ppppppcVar5[0x3c] - 0x23)" (( "(") (binary_expression "(int)ppppppcVar5[0x3c] - 0x23" (cast_expression "(int)ppppppcVar5[0x3c]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar5[0x3c]" (identifier "ppppppcVar5") ([ "[") (number_literal "0x3c") (] "]"))) (- "-") (number_literal "0x23")) () ")")))) (; ";")) (} "}")))) (expression_statement "ppppppcVar35 = (code ******)ppppppcVar5[0xb];" (assignment_expression "ppppppcVar35 = (code ******)ppppppcVar5[0xb]" (identifier "ppppppcVar35") (= "=") (cast_expression "(code ******)ppppppcVar5[0xb]" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppcVar5[0xb]" (identifier "ppppppcVar5") ([ "[") (number_literal "0xb") (] "]")))) (; ";")) (if_statement "if (ppppppcVar35 == (code ******)0x0) {\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }" (if "if") (parenthesized_expression "(ppppppcVar35 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar35 == (code ******)0x0" (identifier "ppppppcVar35") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);\n      }" ({ "{") (expression_statement "ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);" (assignment_expression "ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4)" (identifier "ppppppcVar35") (= "=") (cast_expression "(code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(*(int *)(pcVar42 + 0x53950) + -0x36a4)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x36a4" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x36a4")) () ")")))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);" (call_expression "(**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53c10))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53c10)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53c10)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53c10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53c10)" (( "(") (binary_expression "pcVar42 + 0x53c10" (identifier "pcVar42") (+ "+") (number_literal "0x53c10")) () ")"))))) () ")")) (argument_list "(ppppppcVar5[3],1,1)" (( "(") (subscript_expression "ppppppcVar5[3]" (identifier "ppppppcVar5") ([ "[") (number_literal "3") (] "]")) (, ",") (number_literal "1") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);" (assignment_expression "ppppppcVar31 = (code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7])" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)\n                     (**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7])" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7])" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x5397c)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x5397c)" (* "*") (cast_expression "(code **)(pcVar42 + 0x5397c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x5397c)" (( "(") (binary_expression "pcVar42 + 0x5397c" (identifier "pcVar42") (+ "+") (number_literal "0x5397c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7])" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3440" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x3440")) (, ",") (pointer_expression "*ppppppcVar5[7]" (* "*") (subscript_expression "ppppppcVar5[7]" (identifier "ppppppcVar5") ([ "[") (number_literal "7") (] "]"))) () ")"))))) (; ";")) (if_statement "if (ppppppcVar31 == (code ******)0x0) {\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }\n      else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }" (if "if") (parenthesized_expression "(ppppppcVar31 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar31 == (code ******)0x0" (identifier "ppppppcVar31") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar31 = (code ******)0x0;\n        ppppppcVar38 = (code ******)&DAT_00000007;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);\n      }" ({ "{") (labeled_statement "LAB_00108a70:\n        ppppppcVar21 = (code ******)0x0;" (statement_identifier "LAB_00108a70") (: ":") (expression_statement "ppppppcVar21 = (code ******)0x0;" (assignment_expression "ppppppcVar21 = (code ******)0x0" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "ppppppcVar28 = (code ******)ppppppcVar5[5];" (assignment_expression "ppppppcVar28 = (code ******)ppppppcVar5[5]" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)ppppppcVar5[5]" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppcVar5[5]" (identifier "ppppppcVar5") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "ppppppcVar31 = (code ******)0x0;" (assignment_expression "ppppppcVar31 = (code ******)0x0" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar38 = (code ******)&DAT_00000007;" (assignment_expression "ppppppcVar38 = (code ******)&DAT_00000007" (identifier "ppppppcVar38") (= "=") (cast_expression "(code ******)&DAT_00000007" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (expression_statement "ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);" (assignment_expression "ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28)" (identifier "ppppppcVar17") (= "=") (cast_expression "(code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x5397c)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x5397c)" (* "*") (cast_expression "(code **)(pcVar42 + 0x5397c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x5397c)" (( "(") (binary_expression "pcVar42 + 0x5397c" (identifier "pcVar42") (+ "+") (number_literal "0x5397c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3430" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x3430")) (, ",") (number_literal "0") (, ",") (identifier "ppppppcVar28") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }" (else "else") (compound_statement "{\n        iVar4 = 1;\n        if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }\n        ppppppcVar28 = (code ******)ppppppcVar5[5];\n        ppppppcVar21 = ppppppcVar31;\n        ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);\n        if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }\n      }" ({ "{") (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" (identifier "iVar4") (= "=") (number_literal "1")) (; ";")) (if_statement "if (1 < (int)ppppppcVar5[6]) {\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }" (if "if") (parenthesized_expression "(1 < (int)ppppppcVar5[6])" (( "(") (binary_expression "1 < (int)ppppppcVar5[6]" (number_literal "1") (< "<") (cast_expression "(int)ppppppcVar5[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar5[6]" (identifier "ppppppcVar5") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n          iVar6 = *(int *)(pcVar42 + 0x53950);\n          do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);\n        }" ({ "{") (expression_statement "iVar6 = *(int *)(pcVar42 + 0x53950);" (assignment_expression "iVar6 = *(int *)(pcVar42 + 0x53950)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")"))))) (; ";")) (do_statement "do {\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          } while (iVar4 < (int)ppppppcVar5[6]);" (do "do") (compound_statement "{\n            pppppcVar25 = ppppppcVar5[7] + iVar4;\n            iVar4 = iVar4 + 1;\n            ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);\n            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;\n          }" ({ "{") (expression_statement "pppppcVar25 = ppppppcVar5[7] + iVar4;" (assignment_expression "pppppcVar25 = ppppppcVar5[7] + iVar4" (identifier "pppppcVar25") (= "=") (binary_expression "ppppppcVar5[7] + iVar4" (subscript_expression "ppppppcVar5[7]" (identifier "ppppppcVar5") ([ "[") (number_literal "7") (] "]")) (+ "+") (identifier "iVar4"))) (; ";")) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);" (assignment_expression "ppppppcVar31 = (code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25)" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)\n                           (**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x5397c)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x5397c)" (* "*") (cast_expression "(code **)(pcVar42 + 0x5397c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x5397c)" (( "(") (binary_expression "pcVar42 + 0x5397c" (identifier "pcVar42") (+ "+") (number_literal "0x5397c")) () ")"))))) () ")")) (argument_list "(iVar6 + -0x3438,ppppppcVar31,*pppppcVar25)" (( "(") (binary_expression "iVar6 + -0x3438" (identifier "iVar6") (+ "+") (number_literal "-0x3438")) (, ",") (identifier "ppppppcVar31") (, ",") (pointer_expression "*pppppcVar25" (* "*") (identifier "pppppcVar25")) () ")"))))) (; ";")) (if_statement "if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;" (if "if") (parenthesized_expression "(ppppppcVar31 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar31 == (code ******)0x0" (identifier "ppppppcVar31") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00108a70;" (goto "goto") (statement_identifier "LAB_00108a70") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(iVar4 < (int)ppppppcVar5[6])" (( "(") (binary_expression "iVar4 < (int)ppppppcVar5[6]" (identifier "iVar4") (< "<") (cast_expression "(int)ppppppcVar5[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar5[6]" (identifier "ppppppcVar5") ([ "[") (number_literal "6") (] "]")))) () ")")) (; ";")) (} "}"))) (expression_statement "ppppppcVar28 = (code ******)ppppppcVar5[5];" (assignment_expression "ppppppcVar28 = (code ******)ppppppcVar5[5]" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)ppppppcVar5[5]" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppcVar5[5]" (identifier "ppppppcVar5") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar31;" (assignment_expression "ppppppcVar21 = ppppppcVar31" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar31")) (; ";")) (expression_statement "ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);" (assignment_expression "ppppppcVar17 = (code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28)" (identifier "ppppppcVar17") (= "=") (cast_expression "(code ******)\n                       (**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(pcVar42 + 0x5397c))\n                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28)" (parenthesized_expression "(**(code **)(pcVar42 + 0x5397c))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x5397c)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x5397c)" (* "*") (cast_expression "(code **)(pcVar42 + 0x5397c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x5397c)" (( "(") (binary_expression "pcVar42 + 0x5397c" (identifier "pcVar42") (+ "+") (number_literal "0x5397c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53950) + -0x3430" (pointer_expression "*(int *)(pcVar42 + 0x53950)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53950)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53950)" (( "(") (binary_expression "pcVar42 + 0x53950" (identifier "pcVar42") (+ "+") (number_literal "0x53950")) () ")")))) (+ "+") (number_literal "-0x3430")) (, ",") (identifier "ppppppcVar31") (, ",") (identifier "ppppppcVar28") () ")"))))) (; ";")) (if_statement "if (ppppppcVar17 == (code ******)0x0) {\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }\n        else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }" (if "if") (parenthesized_expression "(ppppppcVar17 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar17 == (code ******)0x0" (identifier "ppppppcVar17") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          ppppppcVar38 = (code ******)&DAT_00000007;\n        }" ({ "{") (expression_statement "ppppppcVar38 = (code ******)&DAT_00000007;" (assignment_expression "ppppppcVar38 = (code ******)&DAT_00000007" (identifier "ppppppcVar38") (= "=") (cast_expression "(code ******)&DAT_00000007" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (} "}")) (else_clause "else {\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }" (else "else") (compound_statement "{\n          ppppppcVar21 = ppppppcVar17;\n          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);\n        }" ({ "{") (expression_statement "ppppppcVar21 = ppppppcVar17;" (assignment_expression "ppppppcVar21 = ppppppcVar17" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar17")) (; ";")) (expression_statement "ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);" (assignment_expression "ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17)" (identifier "ppppppcVar38") (= "=") (cast_expression "(code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17)" (identifier "sqlite3_declare_vtab") (argument_list "(ppppppcVar5[3],ppppppcVar17)" (( "(") (subscript_expression "ppppppcVar5[3]" (identifier "ppppppcVar5") ([ "[") (number_literal "3") (] "]")) (, ",") (identifier "ppppppcVar17") () ")"))))) (; ";")) (} "}")))) (} "}")))) (expression_statement "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17);" (call_expression "(**(code **)(pcVar42 + 0x53974))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53974)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53974)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53974)" (( "(") (binary_expression "pcVar42 + 0x53974" (identifier "pcVar42") (+ "+") (number_literal "0x53974")) () ")"))))) () ")")) (argument_list "(ppppppcVar17)" (( "(") (identifier "ppppppcVar17") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar42 + 0x53974))(ppppppcVar31);" (call_expression "(**(code **)(pcVar42 + 0x53974))(ppppppcVar31)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53974)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53974)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53974)" (( "(") (binary_expression "pcVar42 + 0x53974" (identifier "pcVar42") (+ "+") (number_literal "0x53974")) () ")"))))) () ")")) (argument_list "(ppppppcVar31)" (( "(") (identifier "ppppppcVar31") () ")"))) (; ";")) (expression_statement "pppppcStack_218 = (code *****)ppppppcVar38;" (assignment_expression "pppppcStack_218 = (code *****)ppppppcVar38" (identifier "pppppcStack_218") (= "=") (cast_expression "(code *****)ppppppcVar38" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppcVar38"))) (; ";")) (goto_statement "goto LAB_00107f4c;" (goto "goto") (statement_identifier "LAB_00107f4c") (; ";")) (} "}"))) (} "}"))) (expression_statement "ppppppcVar28 = ppppppcVar26;" (assignment_expression "ppppppcVar28 = ppppppcVar26" (identifier "ppppppcVar28") (= "=") (identifier "ppppppcVar26")) (; ";")) (expression_statement "iStack_284 = 0;" (assignment_expression "iStack_284 = 0" (identifier "iStack_284") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_278 = 0;" (assignment_expression "iStack_278 = 0" (identifier "iStack_278") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppppppcVar5 = (code ******)0x0;" (assignment_expression "ppppppcVar5 = (code ******)0x0" (identifier "ppppppcVar5") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppcStack_218 = (code *****)&DAT_00000007;" (assignment_expression "pppppcStack_218 = (code *****)&DAT_00000007" (identifier "pppppcStack_218") (= "=") (cast_expression "(code *****)&DAT_00000007" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (labeled_statement "LAB_00107f4c:\n  (**(code **)(pcVar42 + 0x53974))(0);" (statement_identifier "LAB_00107f4c") (: ":") (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53974)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53974)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53974)" (( "(") (binary_expression "pcVar42 + 0x53974" (identifier "pcVar42") (+ "+") (number_literal "0x53974")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";"))) (expression_statement "(**(code **)(pcVar42 + 0x53974))(iStack_278);" (call_expression "(**(code **)(pcVar42 + 0x53974))(iStack_278)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53974)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53974)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53974)" (( "(") (binary_expression "pcVar42 + 0x53974" (identifier "pcVar42") (+ "+") (number_literal "0x53974")) () ")"))))) () ")")) (argument_list "(iStack_278)" (( "(") (identifier "iStack_278") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53974)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53974)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53974)" (( "(") (binary_expression "pcVar42 + 0x53974" (identifier "pcVar42") (+ "+") (number_literal "0x53974")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53974)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53974)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53974)" (( "(") (binary_expression "pcVar42 + 0x53974" (identifier "pcVar42") (+ "+") (number_literal "0x53974")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53974)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53974)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53974)" (( "(") (binary_expression "pcVar42 + 0x53974" (identifier "pcVar42") (+ "+") (number_literal "0x53974")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar42 + 0x53974))(0);" (call_expression "(**(code **)(pcVar42 + 0x53974))(0)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53974)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53974)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53974)" (( "(") (binary_expression "pcVar42 + 0x53974" (identifier "pcVar42") (+ "+") (number_literal "0x53974")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar42 + 0x53974))(piVar27);" (call_expression "(**(code **)(pcVar42 + 0x53974))(piVar27)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53974)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53974)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53974)" (( "(") (binary_expression "pcVar42 + 0x53974" (identifier "pcVar42") (+ "+") (number_literal "0x53974")) () ")"))))) () ")")) (argument_list "(piVar27)" (( "(") (identifier "piVar27") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar42 + 0x53974))(iStack_284);" (call_expression "(**(code **)(pcVar42 + 0x53974))(iStack_284)" (parenthesized_expression "(**(code **)(pcVar42 + 0x53974))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53974)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53974)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53974)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53974)" (( "(") (binary_expression "pcVar42 + 0x53974" (identifier "pcVar42") (+ "+") (number_literal "0x53974")) () ")"))))) () ")")) (argument_list "(iStack_284)" (( "(") (identifier "iStack_284") () ")"))) (; ";")) (if_statement "if ((code ******)pppppcStack_218 == (code ******)0x0) {\n    *puStack_18c = ppppppcVar5;\n  }\n  else if (ppppppcVar5 == (code ******)0x0) {\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }" (if "if") (parenthesized_expression "((code ******)pppppcStack_218 == (code ******)0x0)" (( "(") (binary_expression "(code ******)pppppcStack_218 == (code ******)0x0" (cast_expression "(code ******)pppppcStack_218" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_218")) (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    *puStack_18c = ppppppcVar5;\n  }" ({ "{") (expression_statement "*puStack_18c = ppppppcVar5;" (assignment_expression "*puStack_18c = ppppppcVar5" (pointer_expression "*puStack_18c" (* "*") (identifier "puStack_18c")) (= "=") (identifier "ppppppcVar5")) (; ";")) (} "}")) (else_clause "else if (ppppppcVar5 == (code ******)0x0) {\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }" (else "else") (if_statement "if (ppppppcVar5 == (code ******)0x0) {\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }\n  else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }" (if "if") (parenthesized_expression "(ppppppcVar5 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar5 == (code ******)0x0" (identifier "ppppppcVar5") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }\n  }" ({ "{") (if_statement "if ((code *****)ppppcStack_214 != (code *****)0x0) {\n      (*(code *)(*ppppcStack_214)[2])();\n    }" (if "if") (parenthesized_expression "((code *****)ppppcStack_214 != (code *****)0x0)" (( "(") (binary_expression "(code *****)ppppcStack_214 != (code *****)0x0" (cast_expression "(code *****)ppppcStack_214" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppcStack_214")) (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (*(code *)(*ppppcStack_214)[2])();\n    }" ({ "{") (expression_statement "(*(code *)(*ppppcStack_214)[2])();" (call_expression "(*(code *)(*ppppcStack_214)[2])()" (parenthesized_expression "(*(code *)(*ppppcStack_214)[2])" (( "(") (pointer_expression "*(code *)(*ppppcStack_214)[2]" (* "*") (cast_expression "(code *)(*ppppcStack_214)[2]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "(*ppppcStack_214)[2]" (parenthesized_expression "(*ppppcStack_214)" (( "(") (pointer_expression "*ppppcStack_214" (* "*") (identifier "ppppcStack_214")) () ")")) ([ "[") (number_literal "2") (] "]")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }" (else "else") (compound_statement "{\n    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);\n  }" ({ "{") (expression_statement "(*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);" (call_expression "(*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5)" (parenthesized_expression "(*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c)" (* "*") (cast_expression "(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar42 + 0x53a4c) + 0x585c)" (( "(") (binary_expression "*(int *)(pcVar42 + 0x53a4c) + 0x585c" (pointer_expression "*(int *)(pcVar42 + 0x53a4c)" (* "*") (cast_expression "(int *)(pcVar42 + 0x53a4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar42 + 0x53a4c)" (( "(") (binary_expression "pcVar42 + 0x53a4c" (identifier "pcVar42") (+ "+") (number_literal "0x53a4c")) () ")")))) (+ "+") (number_literal "0x585c")) () ")")))) () ")")) (argument_list "(ppppppcVar5)" (( "(") (identifier "ppppppcVar5") () ")"))) (; ";")) (} "}")))))) (if_statement "if (iStack_1cc == *piVar18) {\n    return (code ******)pppppcStack_218;\n  }" (if "if") (parenthesized_expression "(iStack_1cc == *piVar18)" (( "(") (binary_expression "iStack_1cc == *piVar18" (identifier "iStack_1cc") (== "==") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) () ")")) (compound_statement "{\n    return (code ******)pppppcStack_218;\n  }" ({ "{") (return_statement "return (code ******)pppppcStack_218;" (return "return") (cast_expression "(code ******)pppppcStack_218" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppcStack_218")) (; ";")) (} "}"))) (expression_statement "iVar4 = iStack_1cc;" (assignment_expression "iVar4 = iStack_1cc" (identifier "iVar4") (= "=") (identifier "iStack_1cc")) (; ";")) (expression_statement "(**(code **)(pcVar42 + 0x53d64))();" (call_expression "(**(code **)(pcVar42 + 0x53d64))()" (parenthesized_expression "(**(code **)(pcVar42 + 0x53d64))" (( "(") (pointer_expression "**(code **)(pcVar42 + 0x53d64)" (* "*") (pointer_expression "*(code **)(pcVar42 + 0x53d64)" (* "*") (cast_expression "(code **)(pcVar42 + 0x53d64)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar42 + 0x53d64)" (( "(") (binary_expression "pcVar42 + 0x53d64" (identifier "pcVar42") (+ "+") (number_literal "0x53d64")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppppppcVar21 = (code ******)\n                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c);" (assignment_expression "ppppppcVar21 = (code ******)\n                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c)" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)\n                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c)" (identifier "FUN_00107cac") (argument_list "(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,\n                              in_stack_fffffd6c)" (( "(") (number_literal "0") (, ",") (identifier "iVar4") (, ",") (identifier "ppppppcVar21") (, ",") (identifier "ppppppcVar28") (, ",") (identifier "ppppppcVar35") (, ",") (identifier "in_stack_fffffd68") (, ",") (identifier "in_stack_fffffd6c") () ")"))))) (; ";")) (return_statement "return ppppppcVar21;" (return "return") (identifier "ppppppcVar21") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))))))))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)) right: (identifier))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (unary_expression argument: (identifier))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier)))))) right: (pointer_expression argument: (identifier)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))) (goto_statement label: (statement_identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) 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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) 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: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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))))) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (goto_statement label: (statement_identifier))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal))))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (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: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (number_literal) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (char_literal (escape_sequence)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier) (identifier))))))) alternative: (else_clause (compound_statement (labeled_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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))) right: (number_literal))))) arguments: (argument_list))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (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: (binary_expression left: (identifier) right: (number_literal))))) 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (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: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (identifier)) right: (identifier)) right: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_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)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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: (identifier) right: (char_literal (character))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (char_literal (character))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (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))))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))) 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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (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))))) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (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))))) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier)))) (expression_statement (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: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))) condition: (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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (do_statement body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) 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: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (identifier) (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) 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: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (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 (identifier) (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (number_literal) (identifier) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (pointer_expression argument: (subscript_expression argument: (identifier) index: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier)))))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal))))) arguments: (argument_list)))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))))) (return_statement (identifier)))))

/* WARNING: Removing unreachable block (ram,0x00108664) */
/* WARNING: Removing unreachable block (ram,0x00108670) */
/* WARNING: Removing unreachable block (ram,0x00108680) */
/* WARNING: Removing unreachable block (ram,0x001086a4) */
/* WARNING: Removing unreachable block (ram,0x00108658) */
/* WARNING: Removing unreachable block (ram,0x001086d0) */
/* WARNING: Removing unreachable block (ram,0x00108880) */
/* WARNING: Removing unreachable block (ram,0x00108764) */
/* WARNING: Removing unreachable block (ram,0x001086ec) */
/* WARNING: Removing unreachable block (ram,0x00108710) */
/* WARNING: Removing unreachable block (ram,0x0010871c) */
/* WARNING: Removing unreachable block (ram,0x00108730) */
/* WARNING: Removing unreachable block (ram,0x001081b8) */
/* WARNING: Removing unreachable block (ram,0x00108cc8) */
/* WARNING: Removing unreachable block (ram,0x00108d00) */
/* WARNING: Removing unreachable block (ram,0x00109274) */
/* WARNING: Removing unreachable block (ram,0x00108d28) */
/* WARNING: Removing unreachable block (ram,0x00108d54) */
/* WARNING: Removing unreachable block (ram,0x00108d68) */
/* WARNING: Removing unreachable block (ram,0x00108da8) */
/* WARNING: Removing unreachable block (ram,0x00108dc8) */
/* WARNING: Removing unreachable block (ram,0x00108df4) */
/* WARNING: Removing unreachable block (ram,0x00108e4c) */
/* WARNING: Removing unreachable block (ram,0x00108df0) */
/* WARNING: Removing unreachable block (ram,0x00108d64) */
/* WARNING: Removing unreachable block (ram,0x00109540) */
/* WARNING: Removing unreachable block (ram,0x001093b0) */
/* WARNING: Removing unreachable block (ram,0x0010955c) */
/* WARNING: Removing unreachable block (ram,0x00109058) */
/* WARNING: Removing unreachable block (ram,0x00108e78) */
/* WARNING: Removing unreachable block (ram,0x00108e90) */
/* WARNING: Removing unreachable block (ram,0x00108e84) */
/* WARNING: Removing unreachable block (ram,0x001081dc) */
/* WARNING: Removing unreachable block (ram,0x001081e8) */
/* WARNING: Removing unreachable block (ram,0x00108ea8) */
/* WARNING: Removing unreachable block (ram,0x00108eb4) */
/* WARNING: Removing unreachable block (ram,0x00108eb8) */
/* WARNING: Removing unreachable block (ram,0x00108ec8) */
/* WARNING: Removing unreachable block (ram,0x00108ed4) */
/* WARNING: Removing unreachable block (ram,0x00108ee0) */
/* WARNING: Removing unreachable block (ram,0x001082d4) */
/* WARNING: Removing unreachable block (ram,0x00108b1c) */
/* WARNING: Removing unreachable block (ram,0x001090d8) */
/* WARNING: Removing unreachable block (ram,0x001082e0) */
/* WARNING: Removing unreachable block (ram,0x001082e8) */
/* WARNING: Removing unreachable block (ram,0x001082f0) */
/* WARNING: Removing unreachable block (ram,0x001082f4) */
/* WARNING: Removing unreachable block (ram,0x00108304) */
/* WARNING: Removing unreachable block (ram,0x00108328) */
/* WARNING: Removing unreachable block (ram,0x00108358) */
/* WARNING: Removing unreachable block (ram,0x00108370) */
/* WARNING: Removing unreachable block (ram,0x0010839c) */
/* WARNING: Removing unreachable block (ram,0x001083b0) */
/* WARNING: Removing unreachable block (ram,0x001083b8) */
/* WARNING: Removing unreachable block (ram,0x00108acc) */
/* WARNING: Removing unreachable block (ram,0x001083c0) */
/* WARNING: Removing unreachable block (ram,0x00108378) */
/* WARNING: Removing unreachable block (ram,0x00108ad4) */
/* WARNING: Removing unreachable block (ram,0x00108adc) */
/* WARNING: Removing unreachable block (ram,0x00108b10) */
/* WARNING: Removing unreachable block (ram,0x001083d4) */
/* WARNING: Removing unreachable block (ram,0x001083e0) */
/* WARNING: Removing unreachable block (ram,0x001083f0) */
/* WARNING: Removing unreachable block (ram,0x00108394) */
/* WARNING: Removing unreachable block (ram,0x0010875c) */
/* WARNING: Removing unreachable block (ram,0x0010926c) */
/* WARNING: Removing unreachable block (ram,0x0010876c) */
/* WARNING: Removing unreachable block (ram,0x00108bdc) */
/* WARNING: Removing unreachable block (ram,0x00107fb4) */
/* WARNING: Removing unreachable block (ram,0x00107fc8) */

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

{
  char cVar1;
  byte bVar2;
  undefined *puVar3;
  int iVar4;
  code ******ppppppcVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  uint uVar12;
  int iVar13;
  uint *puVar14;
  undefined4 uVar15;
  int *piVar16;
  code ******ppppppcVar17;
  int *piVar18;
  code *****pppppcVar19;
  code cVar20;
  code ******ppppppcVar21;
  code *****pppppcVar22;
  code ******ppppppcVar23;
  undefined1 *puVar24;
  code *****pppppcVar25;
  code ******ppppppcVar26;
  int *piVar27;
  code ******ppppppcVar28;
  code *****pppppcVar29;
  uint *puVar30;
  code ******ppppppcVar31;
  code ******ppppppcVar32;
  code ******ppppppcVar33;
  code ****ppppcVar34;
  code ******ppppppcVar35;
  int iVar36;
  code ******unaff_s3;
  code *****pppppcVar37;
  code ******unaff_s5;
  code ******ppppppcVar38;
  code ******unaff_s6;
  code ******unaff_s7;
  undefined *puVar39;
  code *pcVar40;
  code *pcVar41;
  code ******unaff_s8;
  code *pcVar42;
  code *pcVar43;
  undefined8 uVar44;
  code *****in_stack_fffffd68;
  int in_stack_fffffd6c;
  int iStack_284;
  int iStack_278;
  code *****pppppcStack_218;
  code ****ppppcStack_214;
  code *****pppppcStack_210;
  code ****appppcStack_20c [16];
  int iStack_1cc;
  code *****pppppcStack_1c8;
  code *****pppppcStack_1c4;
  uint *puStack_1c0;
  code *****pppppcStack_1bc;
  code *****pppppcStack_1b8;
  code *****pppppcStack_1b4;
  code *****pppppcStack_1b0;
  code *****pppppcStack_1ac;
  code *****pppppcStack_1a8;
  code *pcStack_1a4;
  code *****pppppcStack_1a0;
  code *pcStack_190;
  undefined4 *puStack_18c;
  code *****pppppcStack_188;
  code ****ppppcStack_184;
  int *piStack_17c;
  code *****pppppcStack_178;
  code *****pppppcStack_174;
  code *****pppppcStack_170;
  code *****pppppcStack_16c;
  code *****pppppcStack_168;
  code *pcStack_164;
  undefined4 uStack_150;
  code *pcStack_148;
  code *****pppppcStack_140;
  code *pcStack_13c;
  int iStack_138;
  int iStack_134;
  code ****ppppcStack_12c;
  undefined1 auStack_128 [4];
  code ****ppppcStack_124;
  code *****pppppcStack_11c;
  code *****pppppcStack_118;
  code *****pppppcStack_114;
  code *****pppppcStack_110;
  code *****pppppcStack_10c;
  code *****pppppcStack_108;
  code *****pppppcStack_104;
  int iStack_e0;
  code *****pppppcStack_c8;
  code *****pppppcStack_c4;
  code ****ppppcStack_c0;
  code *****pppppcStack_bc;
  code *****pppppcStack_b8;
  code *****pppppcStack_b4;
  code *****pppppcStack_b0;
  code *pcStack_ac;
  code *pcStack_98;
  code *****pppppcStack_90;
  code *****pppppcStack_8c;
  code *****pppppcStack_84;
  uint *puStack_80;
  code *****pppppcStack_7c;
  code *****pppppcStack_78;
  code *****pppppcStack_50;
  code ****ppppcStack_4c;
  undefined *puStack_44;
  int *piStack_40;
  code *****local_18;
  code *****local_14;
  
  puVar3 = PTR___stack_chk_guard_0015ba2c;
  ppppppcVar21 = &local_18;
  local_14 = *(code ******)PTR___stack_chk_guard_0015ba2c;
  iVar4 = FUN_000f7f20();
  if (iVar4 == 0) {
    (*(code *)PTR_sqlite3_step_0015b630)(local_18);
    iVar4 = (*(code *)PTR_sqlite3_reset_0015b648)();
    param_2 = (code ******)local_18;
  }
  *param_1 = iVar4;
  ppppppcVar5 = *(code *******)puVar3;
  if ((code ******)local_14 == ppppppcVar5) {
    return ppppppcVar5;
  }
  puVar39 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  puStack_44 = puVar3;
  puVar30 = *(uint **)(puVar39 + 0x549c8);
  pppppcStack_50 = (code *****)0x0;
  ppppcStack_4c = (code ****)*puVar30;
  ppppppcVar5 = param_3;
  piStack_40 = param_1;
  (*(code *)(*(int *)(puVar39 + 0x54674) + -0x38a4))();
  if (param_3 == (code ******)0x0) {
LAB_00107118:
    param_3 = *(code *******)(puVar39 + 0x5466c);
    if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070c8;
    unaff_s3 = &pppppcStack_50;
    param_4 = (code ******)0x0;
    ppppppcVar21 = (code ******)0x3;
    param_3 = param_3 + 0x1bee;
    ppppppcVar5 = param_2;
    MASKED(unaff_s3);
    if ((code ******)pppppcStack_50 == (code ******)0x0) {
      param_4 = (code ******)0x0;
      ppppppcVar21 = (code ******)&DAT_00000004;
      ppppppcVar5 = param_2;
      MASKED(unaff_s3);
      if (*(code *)((int)param_2 + 0xea) != (code)0x0) {
        param_4 = (code ******)0x0;
        if ((code ******)pppppcStack_50 != (code ******)0x0) goto LAB_001070d4;
        ppppppcVar21 = (code ******)&DAT_00000005;
        ppppppcVar5 = param_2;
        MASKED(unaff_s3);
      }
      goto LAB_0010719c;
    }
  }
  else {
    if ((code ******)pppppcStack_50 == (code ******)0x0) {
      param_4 = (code ******)0x0;
      ppppppcVar21 = (code ******)&SUB_00000002;
      ppppppcVar5 = param_2;
      MASKED(&pppppcStack_50);
      goto LAB_00107118;
    }
LAB_001070c8:
    if (*(code *)((int)param_2 + 0xea) == (code)0x0) {
LAB_0010719c:
      if ((*(code *)((int)param_2 + 0xe9) != (code)0x0) &&
         ((code ******)pppppcStack_50 == (code ******)0x0)) {
        param_4 = (code ******)0x0;
        ppppppcVar21 = (code ******)&DAT_00000006;
        ppppppcVar5 = param_2;
        MASKED(&pppppcStack_50);
      }
    }
  }
LAB_001070d4:
  if ((code *****)ppppcStack_4c == (code *****)*puVar30) {
    return (code ******)pppppcStack_50;
  }
  pcVar40 = *(code **)(puVar39 + 0x549ac);
  pppppcVar25 = (code *****)ppppcStack_4c;
  (*pcVar40)();
  pcStack_98 = pcVar40 + 0x5c3d0;
  ppppppcVar31 = *(code *******)(pcVar40 + 0x5484c);
  pppppcStack_8c = *ppppppcVar31;
  pppppcStack_84 = (code *****)param_2;
  puStack_80 = puVar30;
  pppppcStack_7c = (code *****)param_3;
  pppppcStack_78 = (code *****)unaff_s3;
  if (pppppcVar25[10] == (code ****)0x0) {
    param_4 = ppppppcVar5 + 1;
    ppppppcVar38 = &pppppcStack_90;
    ppppppcVar17 = (code ******)0x12;
    ppppppcVar33 = (code ******)FUN_000f7f20();
    pppppcVar29 = pppppcStack_90;
    if (ppppppcVar33 == (code ******)0x0) {
      ppppcVar34 = pppppcVar25[6];
      if (pppppcVar25[0xb] != (code ****)0x0) {
        ppppppcVar38 = (code ******)
                       (**(code **)(pcStack_98 + -0x7e7c))(ppppppcVar5[(int)(ppppcVar34 + 1)]);
        ppppppcVar17 = (code ******)((int)ppppcVar34 + 2);
        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7d0c))(pppppcVar29);
        unaff_s5 = (code ******)pppppcVar29;
        if (ppppppcVar33 != (code ******)0x0) goto LAB_00107278;
        ppppcVar34 = pppppcVar25[6];
      }
      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[(int)ppppcVar34 + 3]);
      if (iVar4 == 5) {
LAB_001073c8:
        (**(code **)(pcStack_98 + -0x7f80))(pppppcStack_90);
        ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7f68))(pppppcStack_90);
        uVar44 = (**(code **)(pcStack_98 + -0x7ec0))(pppppcVar25[3]);
        *(undefined8 *)ppppppcVar21 = uVar44;
      }
      else {
        unaff_s5 = (code ******)(**(code **)(pcStack_98 + -0x7fb8))(*ppppppcVar5);
        if ((unaff_s5 == (code ******)&DAT_00000005) &&
           (iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(ppppppcVar5[1]), iVar4 != 5)) {
          ppppppcVar33 = (code ******)0x1;
        }
        else {
          ppppppcVar17 = (code ******)0x1;
          ppppppcVar5 = ppppppcVar5 + (int)pppppcVar25[6] + 3;
          ppppppcVar38 = (code ******)*ppppppcVar5;
          ppppppcVar33 = (code ******)(**(code **)(pcStack_98 + -0x7da4))(pppppcStack_90);
          if (ppppppcVar33 == (code ******)0x0) goto LAB_001073c8;
        }
      }
    }
  }
  else {
    pppppcVar25 = ppppppcVar5[(int)pppppcVar25[6] + 3];
    ppppppcVar17 = ppppppcVar5;
    ppppppcVar38 = ppppppcVar21;
    iVar4 = (**(code **)(pcVar40 + 0x54418))(pppppcVar25);
    if (iVar4 == 5) {
      pppppcVar25 = ppppppcVar5[1];
      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);
    }
    else {
      iVar4 = (**(code **)(pcStack_98 + -0x7fb8))(pppppcVar25);
    }
    if (iVar4 == 1) {
      ppppppcVar33 = (code ******)0x0;
      uVar44 = (**(code **)(pcStack_98 + -0x7fa8))(pppppcVar25);
      *(undefined8 *)ppppppcVar21 = uVar44;
    }
    else {
      ppppppcVar33 = (code ******)&DAT_00000013;
    }
  }
LAB_00107278:
  if (pppppcStack_8c == *ppppppcVar31) {
    return ppppppcVar33;
  }
  pcVar40 = *(code **)(pcStack_98 + -0x7ba0);
  pcVar42 = FUN_00107430;
  ppppppcVar23 = (code ******)pppppcStack_8c;
  (*pcVar40)();
  ppppppcVar35 = *(code *******)(pcVar40 + 0x545fc);
  ppppppcVar26 = (code ******)*ppppppcVar23;
  pppppcStack_c4 = *ppppppcVar35;
  ppppppcVar32 = ppppppcVar23;
  ppppppcVar28 = ppppppcVar17;
  ppppcStack_c0 = (code ****)pppppcVar25;
  pppppcStack_bc = (code *****)ppppppcVar31;
  pppppcStack_b8 = (code *****)ppppppcVar33;
  pppppcStack_b4 = (code *****)ppppppcVar5;
  pppppcStack_b0 = (code *****)ppppppcVar21;
  pcStack_ac = pcVar42;
  if (ppppppcVar26 == (code ******)0x0) {
    pppppcVar25 = ppppppcVar17[6];
    param_4 = (code ******)((uint)pppppcVar25 >> 0x1e);
    ppppppcVar28 = (code ******)((int)pppppcVar25 * 10);
    ppppppcVar32 = (code ******)
                   ((uint)((int)pppppcVar25 * 5) >> 0x1f |
                   ((uint)((uint)((int)pppppcVar25 * 5) < (uint)((int)pppppcVar25 * 4)) +
                   ((uint)param_4 | ((int)pppppcVar25 >> 0x1f) << 2) + ((int)pppppcVar25 >> 0x1f)) *
                   2);
    ppppppcVar31 = (code ******)(**(code **)(pcVar40 + 0x54330))();
    ppppppcVar21 = ppppppcVar23;
    if (ppppppcVar31 == (code ******)0x0) {
      *ppppppcVar23 = (code *****)0x7;
    }
    else {
      if (0 < (int)ppppppcVar17[6]) {
        ppppppcVar5 = ppppppcVar38 + (int)ppppppcVar17[6];
        ppppppcVar26 = (code ******)0x0;
        do {
          pppppcVar25 = *ppppppcVar38;
          pcVar42 = (code *)((int)ppppppcVar31 + (int)ppppppcVar26);
          do {
            pcVar43 = pcVar42;
            pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);
            bVar2 = (byte)pppppcVar25;
            *pcVar43 = (code)(bVar2 | 0x80);
            pppppcVar25 = pppppcVar29;
            pcVar42 = pcVar43 + 1;
          } while (pppppcVar29 != (code *****)0x0);
          ppppppcVar38 = ppppppcVar38 + 1;
          *pcVar43 = (code)(bVar2 & 0x7f);
          ppppppcVar26 = (code ******)
                         ((int)ppppppcVar26 +
                         ((int)(pcVar43 + 1) - ((int)ppppppcVar31 + (int)ppppppcVar26)));
        } while (ppppppcVar5 != ppppppcVar38);
      }
      param_4 = (code ******)0x0;
      ppppppcVar38 = &pppppcStack_c8;
      ppppppcVar28 = (code ******)0x14;
      pppppcVar25 = (code *****)FUN_000f7f20(ppppppcVar17);
      if (pppppcVar25 == (code *****)0x0) {
        (**(code **)(pcVar40 + 0x543c8))(pppppcStack_c8,1,ppppppcVar17[0x44],ppppppcVar17[0x45]);
        ppppppcVar28 = (code ******)&SUB_00000002;
        iStack_e0 = *(int *)(pcVar40 + 0x541f0);
        ppppppcVar38 = ppppppcVar31;
        param_4 = ppppppcVar26;
        (**(code **)(pcVar40 + 0x543cc))(pppppcStack_c8);
        (**(code **)(pcVar40 + 0x54200))(pppppcStack_c8);
        pppppcVar25 = (code *****)(**(code **)(pcVar40 + 0x54218))();
        *ppppppcVar23 = pppppcVar25;
        ppppppcVar32 = (code ******)pppppcStack_c8;
      }
      else {
        ppppppcVar32 = ppppppcVar31;
        (**(code **)(pcVar40 + 0x541f0))();
        *ppppppcVar23 = pppppcVar25;
      }
    }
  }
  if (pppppcStack_c4 == *ppppppcVar35) {
    return (code ******)*ppppppcVar35;
  }
  pcVar40 = *(code **)(pcVar40 + 0x545e0);
  (*pcVar40)();
  pcStack_148 = pcVar40 + 0x5bf88;
  piVar27 = *(int **)(pcVar40 + 0x54404);
  pppppcStack_11c = (code *****)*piVar27;
  ppppppcVar5 = ppppppcVar32;
  ppppppcVar33 = ppppppcVar38;
  ppppppcVar23 = param_4;
  pppppcStack_118 = (code *****)ppppppcVar26;
  pppppcStack_114 = (code *****)ppppppcVar31;
  pppppcStack_110 = (code *****)ppppppcVar35;
  pppppcStack_10c = (code *****)ppppppcVar17;
  pppppcStack_108 = (code *****)ppppppcVar21;
  pppppcStack_104 = (code *****)unaff_s5;
  if (*ppppppcVar32 == (code *****)0x0) {
    ppppppcVar21 = (code ******)((int)ppppppcVar28[6] + 2);
    ppppppcVar33 = (code ******)((uint)ppppppcVar21 >> 0x1d);
    ppppppcVar5 = (code ******)
                  ((uint)((int)ppppppcVar21 * 7) >> 0x1f |
                  ((((uint)ppppppcVar33 | ((int)ppppppcVar21 >> 0x1f) << 3) -
                   ((int)ppppppcVar21 >> 0x1f)) -
                  (uint)((uint)((int)ppppppcVar21 * 8) < (uint)((int)ppppppcVar21 * 7))) * 2);
    ppppppcVar35 = (code ******)
                   (**(code **)(pcVar40 + 0x54138))(ppppppcVar5,(int)ppppppcVar21 * 0xe);
    ppppppcVar17 = ppppppcVar28;
    unaff_s5 = ppppppcVar38;
    unaff_s6 = param_4;
    if (ppppppcVar35 == (code ******)0x0) {
      *ppppppcVar32 = (code *****)0x7;
    }
    else {
      ppppppcVar33 = (code ******)&ppppcStack_12c;
      ppppppcVar23 = (code ******)0x0;
      pcStack_13c = (code *)(*(int *)(pcStack_148 + -0x7d30) + 0x7f20);
      pppppcStack_140 = (code *****)ppppppcVar33;
      unaff_s8 = (code ******)FUN_000f7f20(ppppppcVar28,0x16);
      ppppppcVar5 = ppppppcVar35;
      if (unaff_s8 == (code ******)0x0) {
        ppppppcVar33 = (code ******)0x0;
        unaff_s7 = (code ******)((int)ppppppcVar21 * 4);
        (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1);
        iVar4 = (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);
        if (iVar4 == 100) {
          iStack_138 = (**(code **)(pcStack_148 + -0x7f48))(ppppcStack_12c,0);
          iStack_134 = (**(code **)(pcStack_148 + -0x7f4c))(ppppcStack_12c,0);
          if ((iStack_134 == 0) || (*(char *)(iStack_138 + iStack_134 + -1) < '\0')) {
            ppppppcVar31 = (code ******)0x0;
            if (0 < (int)ppppppcVar21) goto LAB_001079ec;
            pcVar40 = *(code **)(pcStack_148 + -0x7f68);
          }
          else {
            pcVar40 = *(code **)(pcStack_148 + -0x7f68);
            if (0 < (int)ppppppcVar21) {
              ppppppcVar31 = (code ******)0x0;
              if (0 < iStack_134) {
                puVar24 = auStack_128;
                pcVar40 = (code *)(*(int *)(pcStack_148 + -0x7f54) + 0xf74);
                iVar4 = 0;
                ppppppcVar26 = ppppppcVar35;
                do {
                  iVar6 = (*pcVar40)(iStack_138 + iVar4,puVar24);
                  iVar4 = iVar4 + iVar6;
                  ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);
                  *ppppppcVar26 = (code *****)ppppcStack_124;
                  if (ppppppcVar21 == ppppppcVar31) goto LAB_00107790;
                  ppppppcVar26 = ppppppcVar26 + 1;
                } while (iVar4 < iStack_134);
              }
LAB_001079ec:
              ppppppcVar26 = ppppppcVar35 + (int)ppppppcVar31;
              do {
                ppppppcVar31 = (code ******)((int)ppppppcVar31 + 1);
                *ppppppcVar26 = (code *****)0x0;
                ppppppcVar26 = ppppppcVar26 + 1;
              } while ((int)ppppppcVar31 < (int)ppppppcVar21);
              pcVar40 = *(code **)(pcStack_148 + -0x7f68);
            }
          }
        }
        else {
          ppppppcVar33 = unaff_s7;
          (**(code **)(pcStack_148 + -0x7bfc))(ppppppcVar35,0);
LAB_00107790:
          pcVar40 = *(code **)(pcStack_148 + -0x7f68);
        }
        unaff_s8 = (code ******)(*pcVar40)(ppppcStack_12c);
        if (unaff_s8 == (code ******)0x0) {
          if ((iStack_e0 < 0) && (*ppppppcVar35 < (code *****)-iStack_e0)) {
            pppppcVar25 = (code *****)0x0;
          }
          else {
            pppppcVar25 = (code *****)((int)*ppppppcVar35 + iStack_e0);
          }
          *ppppppcVar35 = pppppcVar25;
          ppppppcVar31 = ppppppcVar35 + 1;
          if (-1 < (int)ppppppcVar28[6]) {
            iVar4 = 0;
            do {
              while ((code *****)((int)*ppppppcVar38 + (int)*ppppppcVar31) < *param_4) {
                iVar4 = iVar4 + 1;
                *ppppppcVar31 = (code *****)0x0;
                ppppppcVar38 = ppppppcVar38 + 1;
                ppppppcVar31 = ppppppcVar31 + 1;
                param_4 = param_4 + 1;
                if ((int)ppppppcVar28[6] < iVar4) goto LAB_00107834;
              }
              iVar4 = iVar4 + 1;
              *ppppppcVar31 =
                   (code *****)(((int)*ppppppcVar38 + (int)*ppppppcVar31) - (int)*param_4);
              ppppppcVar38 = ppppppcVar38 + 1;
              ppppppcVar31 = ppppppcVar31 + 1;
              param_4 = param_4 + 1;
            } while (iVar4 <= (int)ppppppcVar28[6]);
          }
LAB_00107834:
          unaff_s7 = ppppppcVar35 + (int)ppppppcVar21;
          ppppppcVar31 = (code ******)0x0;
          ppppppcVar33 = ppppppcVar35;
          if (0 < (int)ppppppcVar21) {
            do {
              pppppcVar25 = *ppppppcVar33;
              pcVar40 = (code *)((int)unaff_s7 + (int)ppppppcVar31);
              do {
                pcVar42 = pcVar40;
                pppppcVar29 = (code *****)((uint)pppppcVar25 >> 7);
                bVar2 = (byte)pppppcVar25;
                *pcVar42 = (code)(bVar2 | 0x80);
                pppppcVar25 = pppppcVar29;
                pcVar40 = pcVar42 + 1;
              } while (pppppcVar29 != (code *****)0x0);
              ppppppcVar33 = ppppppcVar33 + 1;
              *pcVar42 = (code)(bVar2 & 0x7f);
              ppppppcVar31 = (code ******)
                             ((int)ppppppcVar31 +
                             ((int)(pcVar42 + 1) - ((int)unaff_s7 + (int)ppppppcVar31)));
              unaff_s8 = ppppppcVar31;
            } while (unaff_s7 != ppppppcVar33);
          }
          ppppppcVar23 = (code ******)0x0;
          ppppppcVar33 = (code ******)pppppcStack_140;
          ppppppcVar31 = (code ******)(*pcStack_13c)(ppppppcVar28,0x17);
          unaff_s5 = ppppppcVar38;
          unaff_s6 = param_4;
          if (ppppppcVar31 == (code ******)0x0) {
            (**(code **)(pcStack_148 + -0x7d0c))(ppppcStack_12c,1,0);
            uStack_150 = 0;
            ppppppcVar33 = unaff_s7;
            ppppppcVar23 = unaff_s8;
            (**(code **)(pcStack_148 + -0x7db4))(ppppcStack_12c,2);
            (**(code **)(pcStack_148 + -0x7f80))(ppppcStack_12c);
            pppppcVar25 = (code *****)(**(code **)(pcStack_148 + -0x7f68))(ppppcStack_12c);
            pcVar40 = *(code **)(pcStack_148 + -0x7dac);
            *ppppppcVar32 = pppppcVar25;
            (*pcVar40)(ppppcStack_12c,2);
            (**(code **)(pcStack_148 + -0x7f90))();
          }
          else {
            pppppcStack_140 = (code *****)ppppppcVar31;
            (**(code **)(pcStack_148 + -0x7f90))();
            *ppppppcVar32 = pppppcStack_140;
          }
          goto LAB_0010767c;
        }
      }
      (**(code **)(pcStack_148 + -0x7f90))();
      *ppppppcVar32 = (code *****)unaff_s8;
    }
  }
LAB_0010767c:
  if ((code ******)pppppcStack_11c == (code ******)*piVar27) {
    return (code ******)*piVar27;
  }
  pcVar40 = *(code **)(pcStack_148 + -0x7ba0);
  pcVar42 = FUN_00107a84;
  (*pcVar40)();
  pcStack_190 = pcVar40 + 0x5bb2c;
  puVar30 = *(uint **)(pcVar40 + 0x53fa8);
  ppppcStack_184 = (code ****)*puVar30;
  piStack_17c = piVar27;
  pppppcStack_178 = (code *****)ppppppcVar32;
  pppppcStack_174 = (code *****)ppppppcVar35;
  pppppcStack_170 = (code *****)ppppppcVar17;
  pppppcStack_16c = (code *****)ppppppcVar21;
  pppppcStack_168 = (code *****)unaff_s5;
  pcStack_164 = pcVar42;
  if (*(ushort *)(ppppppcVar5 + 1) < 2) {
    iVar4 = (**(code **)(pcVar40 + 0x53bac))(ppppppcVar5[3]);
    if (iVar4 == 100) {
      uVar44 = (**(code **)(pcStack_190 + -0x7f60))(ppppppcVar5[3],0);
      ppppppcVar31 = (code ******)0x0;
      *(undefined8 *)(ppppppcVar5 + 8) = uVar44;
    }
    else {
      pcVar40 = *(code **)(pcStack_190 + -0x7f68);
      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;
      ppppppcVar31 = (code ******)(*pcVar40)(ppppppcVar5[3]);
    }
  }
  else {
    ppppppcVar32 = (code ******)ppppppcVar5[4];
    pppppcStack_188 = (code *****)0x0;
    if (ppppppcVar32 == (code ******)0x0) {
      *(code *)((int)ppppppcVar5 + 6) = (code)0x1;
    }
    else {
      iVar4 = *(int *)(pcVar40 + 0x53c4c);
      ppppppcVar38 = (code ******)(*(int *)(pcVar40 + 0x53c74) + 0x6888);
      do {
        if (*(code *)((int)ppppppcVar5 + 7) == (code)0x0) {
          (**(code **)(pcStack_190 + -0x7f68))(ppppppcVar5[3]);
        }
        if ((code ******)pppppcStack_188 == (code ******)0x0) {
          ppppppcVar33 = &pppppcStack_188;
          (*(code *)ppppppcVar38)(ppppppcVar5,ppppppcVar32);
        }
        cVar20 = *(code *)(ppppppcVar32 + 8);
        *(code *)((int)ppppppcVar5 + 7) = (code)0x1;
        *(code *)((int)ppppppcVar5 + 6) = cVar20;
        ppppppcVar5[0x16] = (code *****)0x1;
        pppppcVar25 = ppppppcVar32[6];
        ppppppcVar5[9] = ppppppcVar32[7];
        ppppppcVar5[8] = pppppcVar25;
      } while ((cVar20 == (code)0x0) &&
              (iVar6 = FUN_00105348(ppppppcVar5,&pppppcStack_188), iVar6 != 0));
      ppppppcVar31 = (code ******)pppppcStack_188;
      ppppppcVar17 = &pppppcStack_188;
      ppppppcVar21 = (code ******)(iVar4 + 0x5348);
      unaff_s5 = ppppppcVar38;
      if ((code ******)pppppcStack_188 != (code ******)0x0) goto LAB_00107b8c;
    }
    pppppcVar25 = ppppppcVar5[8];
    if (*(code *)(ppppppcVar5 + 0xd) == (code)0x0) {
      if ((int)pppppcVar25 <= (int)ppppppcVar5[0x14]) {
        if (ppppppcVar5[0x14] != pppppcVar25) goto LAB_00107c24;
        if (ppppppcVar5[9] <= ppppppcVar5[0x15]) {
          ppppppcVar31 = (code ******)0x0;
          goto LAB_00107b8c;
        }
      }
    }
    else if (((int)ppppppcVar5[0x12] <= (int)pppppcVar25) &&
            ((ppppppcVar5[0x12] != pppppcVar25 || (ppppppcVar5[0x13] <= ppppppcVar5[9])))) {
LAB_00107c24:
      ppppppcVar31 = (code ******)0x0;
      goto LAB_00107b8c;
    }
    ppppppcVar31 = (code ******)0x0;
    *(code *)((int)ppppppcVar5 + 6) = (code)0x1;
  }
LAB_00107b8c:
  if ((code *****)ppppcStack_184 == (code *****)*puVar30) {
    return ppppppcVar31;
  }
  pcVar42 = *(code **)(pcStack_190 + -0x7ba0);
  pcVar43 = FUN_00107cac;
  pppppcVar25 = (code *****)ppppcStack_184;
  (*pcVar42)();
  ppppppcVar38 = (code ******)pppppcStack_188;
  pcVar40 = pcStack_190;
  piVar18 = *(int **)(pcVar42 + 0x53d80);
  ppppppcVar28 = (code ******)((int)((int)ppppppcVar23 + -2) * 4);
  pppppcStack_218 = (code *****)0x0;
  iStack_1cc = *piVar18;
  cVar1 = *(char *)(*(int *)pcStack_190 + 3);
  ppppcStack_214 = (code ****)0x0;
  ppppppcVar26 = ppppppcVar33;
  ppppppcVar35 = ppppppcVar23;
  pppppcStack_1c8 = (code *****)ppppppcVar5;
  pppppcStack_1c4 = (code *****)ppppppcVar32;
  puStack_1c0 = puVar30;
  pppppcStack_1bc = (code *****)ppppppcVar17;
  pppppcStack_1b8 = (code *****)ppppppcVar21;
  pppppcStack_1b4 = (code *****)unaff_s5;
  pppppcStack_1b0 = (code *****)unaff_s6;
  pppppcStack_1ac = (code *****)unaff_s7;
  pppppcStack_1a8 = (code *****)unaff_s8;
  pcStack_1a4 = pcVar43;
  pppppcStack_1a0 = (code *****)ppppppcVar31;
  iVar4 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcStack_190 + 4));
  iVar6 = (**(code **)(pcVar42 + 0x53d18))(*(int *)(pcVar40 + 8));
  ppppppcVar21 = ppppppcVar28;
  piVar27 = (int *)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);
  if (piVar27 != (int *)0x0) {
    ppppppcVar26 = ppppppcVar28;
    (**(code **)(pcVar42 + 0x53d08))(piVar27,0,ppppppcVar28);
    ppppppcVar21 = ppppppcVar28;
    iStack_284 = (**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar28);
    if (iStack_284 != 0) {
      ppppppcVar21 = (code ******)0x0;
      (**(code **)(pcVar42 + 0x53d08))(iStack_284,0,ppppppcVar28);
      if ((code ******)pppppcStack_218 != (code ******)0x0) {
        ppppppcVar5 = (code ******)0x0;
        iStack_278 = 0;
        goto LAB_00107f4c;
      }
      iVar7 = *(int *)(pcVar42 + 0x5393c);
      if ((int)ppppppcVar23 < 4) {
        pppppcVar29 = (code *****)0x0;
        iVar36 = 0;
        bVar2 = 0;
      }
      else {
        pcVar43 = pcVar40 + 0xc;
        pppppcVar29 = (code *****)0x0;
        iVar36 = 0;
        iVar8 = *(int *)(pcVar42 + 0x5392c);
        ppppppcVar5 = (code ******)0x3;
        bVar2 = 0;
        iVar9 = *(int *)(pcVar42 + 0x539b0);
        iVar10 = *(int *)(pcVar42 + 0x53a70);
        iVar11 = *(int *)(pcVar42 + 0x53950);
        do {
          ppppppcVar31 = *(code *******)pcVar43;
          if (((code *****)ppppcStack_214 == (code *****)0x0) &&
             (uVar12 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar31), 8 < uVar12)) {
            ppppppcVar28 = (code ******)&DAT_00000008;
            ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2344);
            iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar31,ppppppcVar21,8);
            if (iVar13 != 0) goto LAB_00107e50;
            if (((char)*(code *)(ppppppcVar31 + 2) < 0) ||
               (*(char *)((int)(char)*(code *)(ppppppcVar31 + 2) +
                         *(int *)(pcVar42 + 0x53950) + 0x25c0) != '\0')) goto LAB_00107e50;
            ppppppcVar28 = (code ******)&ppppcStack_214;
            ppppppcVar21 = (code ******)((int)ppppppcVar31 + 9);
            ppppppcVar35 = ppppppcVar38;
            pppppcStack_218 =
                 (code *****)
                 (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))
                           (ppppppcVar33,ppppppcVar21,ppppppcVar28);
          }
          else {
LAB_00107e50:
            if (cVar1 == '4') {
              pppppcVar37 = (code *****)0x0;
              ppppppcVar21 = ppppppcVar31;
              if (*(code *)ppppppcVar31 == (code)0x3d) {
LAB_001080a4:
                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);
                ppppppcVar17 = (code ******)
                               (**(code **)(pcVar42 + 0x5397c))(iVar7 + 0x71f4,ppppppcVar21);
                if (ppppppcVar17 == (code ******)0x0) {
                  pppppcStack_218 = (code *****)&DAT_00000007;
                }
                else {
                  (*(code *)(iVar9 + 0x1120))(ppppppcVar17);
                  ppppppcVar35 = (code ******)appppcStack_20c;
                  puVar30 = (uint *)(iVar8 + -0x5f24);
                  ppppppcVar21 = ppppppcVar35;
                  do {
                    puVar14 = puVar30 + 4;
                    *ppppppcVar21 = (code *****)*puVar30;
                    pppppcVar22 = (code *****)puVar30[2];
                    pppppcVar19 = (code *****)puVar30[3];
                    ppppppcVar21[1] = (code *****)puVar30[1];
                    ppppppcVar21[2] = pppppcVar22;
                    ppppppcVar21[3] = pppppcVar19;
                    puVar30 = puVar14;
                    ppppppcVar21 = ppppppcVar21 + 4;
                  } while (puVar14 != (uint *)(iVar8 + -0x5ee4));
                  uVar12 = 0;
                  ppppppcVar21 = ppppppcVar35;
                  do {
                    if ((ppppppcVar21[1] == pppppcVar37) &&
                       (iVar13 = (**(code **)(pcVar42 + 0x53a5c))
                                           (ppppppcVar31,*ppppppcVar21,pppppcVar37), iVar13 == 0)) {
                      if (uVar12 < 8) {
                    /* WARNING: Could not recover jumptable at 0x00108194. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                        ppppppcVar21 = (code ******)
                                       (*(pcVar42 + *(int *)(iVar11 + 0x1b1c + uVar12 * 4) + 0x5b904
                                         ))();
                        return ppppppcVar21;
                      }
                      iVar13 = (**(code **)(pcVar42 + 0x53d18))(ppppppcVar17);
                      if (iVar13 == 4) {
                        ppppppcVar31 = (code ******)&DAT_00000004;
                        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x2528);
                        iVar13 = (**(code **)(pcVar42 + 0x53a5c))(ppppppcVar17,ppppppcVar21,4);
                        if (iVar13 == 0) {
                          bVar2 = 1;
                          goto LAB_0010823c;
                        }
                      }
                      ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3698);
                      ppppppcVar31 = ppppppcVar17;
                      (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar17);
                      bVar2 = 1;
                      pppppcStack_218 = (code *****)0x1;
                      goto LAB_0010823c;
                    }
                    uVar12 = uVar12 + 1;
                    ppppppcVar21 = ppppppcVar21 + 2;
                  } while (uVar12 != 8);
                  ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3658);
                  (*(code *)(iVar10 + 0x2618))(ppppppcVar38,ppppppcVar21,ppppppcVar31);
                  pppppcStack_218 = (code *****)0x1;
LAB_0010823c:
                  (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);
                  ppppppcVar28 = ppppppcVar31;
                }
                goto LAB_00107e88;
              }
              if (*(code *)ppppppcVar31 == (code)0x0) goto LAB_00107e5c;
              do {
                ppppppcVar21 = (code ******)((int)ppppppcVar21 + 1);
                pppppcVar37 = (code *****)((int)ppppppcVar21 - (int)ppppppcVar31);
                if (*(code *)ppppppcVar21 == (code)0x3d) goto LAB_001080a4;
                pcVar41 = *(code **)(pcVar42 + 0x53d18);
              } while (*(code *)ppppppcVar21 != (code)0x0);
            }
            else {
LAB_00107e5c:
              pcVar41 = *(code **)(pcVar42 + 0x53d18);
            }
            iVar13 = (*pcVar41)(ppppppcVar31);
            iVar36 = iVar36 + 1 + iVar13;
            piVar16 = piVar27 + (int)pppppcVar29;
            pppppcVar29 = (code *****)((int)pppppcVar29 + 1);
            *piVar16 = (int)ppppppcVar31;
          }
LAB_00107e88:
          ppppppcVar5 = (code ******)((int)ppppppcVar5 + 1);
          if ((code ******)pppppcStack_218 != (code ******)0x0) {
            ppppppcVar5 = (code ******)0x0;
            iStack_278 = 0;
            goto LAB_00107f4c;
          }
          pcVar43 = pcVar43 + 4;
        } while (ppppppcVar23 != ppppppcVar5);
      }
      if (pppppcVar29 == (code *****)0x0) {
        pppppcVar29 = (code *****)0x1;
        iVar36 = 8;
        *piVar27 = *(int *)(pcVar42 + 0x5393c) + 0x6a48;
      }
      if ((code *****)ppppcStack_214 == (code *****)0x0) {
        ppppppcVar28 = (code ******)&ppppcStack_214;
        ppppppcVar21 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3ef8);
        pppppcStack_218 =
             (code *****)
             (*(code *)(*(int *)(pcVar42 + 0x53a58) + -0x73a8))
                       (ppppppcVar33,ppppppcVar21,ppppppcVar28);
        ppppppcVar35 = ppppppcVar38;
        if ((code ******)pppppcStack_218 != (code ******)0x0) {
          iStack_278 = 0;
          ppppppcVar5 = (code ******)0x0;
          goto LAB_00107f4c;
        }
      }
      ppppppcVar21 = (code ******)0x18;
      iStack_278 = (**(code **)(pcVar42 + 0x53ab4))(0,0x18);
      if (iStack_278 == 0) {
        iStack_278 = 0;
        ppppppcVar5 = (code ******)0x0;
        pppppcStack_218 = (code *****)&DAT_00000007;
        goto LAB_00107f4c;
      }
      (**(code **)(pcVar42 + 0x53d08))(iStack_278,0,0x18);
      pppppcStack_218 = (code *****)0x0;
      iVar4 = iVar4 + 1;
      ppppppcVar28 = (code ******)(((int)pppppcVar29 + 0x4eU) * 4);
      ppppppcVar31 = (code ******)
                     ((int)ppppppcVar28 + (int)pppppcVar29 + iVar36 + iVar6 + 1 + iVar4);
      ppppppcVar21 = ppppppcVar31;
      ppppppcVar5 = (code ******)(**(code **)(pcVar42 + 0x53ab4))(0,ppppppcVar31);
      if (ppppppcVar5 == (code ******)0x0) {
        pppppcStack_218 = (code *****)&DAT_00000007;
        goto LAB_00107f4c;
      }
      (**(code **)(pcVar42 + 0x53d08))(ppppppcVar5,0,ppppppcVar31);
      ppppppcVar21 = ppppppcVar5 + 0x48;
      ppppppcVar5[6] = pppppcVar29;
      ppppppcVar5[3] = pppppcVar25;
      ppppppcVar5[0x42] = (code *****)0x0;
      ppppppcVar5[7] = (code *****)ppppppcVar21;
      ppppppcVar5[9] = (code *****)ppppcStack_214;
      ppppppcVar5[0x41] = (code *****)0x100000;
      if (cVar1 == '4') {
        cVar20 = (code)(bVar2 ^ 1);
      }
      else {
        cVar20 = (code)0x0;
      }
      *(code *)((int)ppppppcVar5 + 0xea) = cVar20;
      pcVar43 = *(code **)(pcVar42 + 0x53d84);
      *(code *)((int)ppppppcVar5 + 0xeb) = (code)0x0;
      ppppppcVar5[10] = (code *****)0x0;
      ppppppcVar5[0xb] = (code *****)0x0;
      ppppppcVar5[0x40] = (code *****)(ppppppcVar21 + (int)pppppcVar29);
      ppppppcVar5[0xc] = (code *****)0xff;
      *(bool *)((int)ppppppcVar5 + 0xe9) = cVar1 == '4';
      *(bool *)(ppppppcVar5 + 0x3a) = cVar1 == '4';
      (*pcVar43)(ppppppcVar21 + (int)pppppcVar29,iStack_278,0x18);
      ppppppcVar5[0x3f] = (code *****)0x1;
      iVar36 = 0;
      iVar7 = 0;
      do {
        pppppcVar25 = ppppppcVar5[0x40];
        iVar36 = iVar36 + 1;
        *(undefined2 *)((int)pppppcVar25 + iVar7 + 4) = 0x101;
        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0xc) = 0;
        *(undefined4 *)((int)pppppcVar25 + iVar7 + 8) = 0;
        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x10) = 0;
        *(undefined4 *)((int)pppppcVar25 + iVar7 + 0x14) = 0;
        iVar7 = iVar7 + 0x18;
      } while (iVar36 != 1);
      pcVar43 = *(code **)(pcVar42 + 0x53d84);
      pppppcVar25 = (code *****)((int)(ppppppcVar5[0x40] + 6) + (int)pppppcVar29);
      ppppppcVar5[8] = ppppppcVar5[0x40] + 6;
      ppppppcVar5[5] = pppppcVar25;
      pppppcVar37 = (code *****)((int)pppppcVar25 + iVar6 + 1);
      iVar6 = (int)pppppcVar37 + iVar4;
      (*pcVar43)(pppppcVar25,*(int *)(pcVar40 + 8));
      ppppppcVar5[4] = pppppcVar37;
      (**(code **)(pcVar42 + 0x53d84))(pppppcVar37,*(int *)(pcVar40 + 4),iVar4);
      if (0 < (int)pppppcVar29) {
        iVar7 = *(int *)(pcVar42 + 0x539b0);
        iVar36 = 0;
        iVar4 = *(int *)(pcVar42 + 0x539b0);
        do {
          pppppcStack_210 = (code *****)0x0;
          uVar15 = (*(code *)(iVar4 + 0x273c))
                             (*(undefined4 *)((int)piVar27 + iVar36),&pppppcStack_210);
          if (0 < (int)pppppcStack_210) {
            (**(code **)(pcVar42 + 0x53d84))(iVar6,uVar15);
          }
          *(undefined1 *)(iVar6 + (int)pppppcStack_210) = 0;
          (*(code *)(iVar7 + 0x1120))(iVar6);
          piVar16 = (int *)((int)ppppppcVar5[7] + iVar36);
          iVar36 = iVar36 + 4;
          *piVar16 = iVar6;
          iVar6 = (int)pppppcStack_210 + iVar6 + 1;
        } while ((int)pppppcVar29 * 4 != iVar36);
        pppppcVar25 = (code *****)0x0;
        do {
          (**(code **)(pcVar42 + 0x53d18))(ppppppcVar5[7][(int)pppppcVar25]);
          pppppcVar25 = (code *****)((int)pppppcVar25 + 1);
        } while (pppppcVar25 != pppppcVar29);
      }
      ppppppcVar31 = &pppppcStack_210;
      pppppcStack_210 = (code *****)0x0;
      if (ppppppcVar5[10] == (code *****)0x0) {
        iVar4 = *(int *)(pcVar42 + 0x5393c);
        pppppcStack_210 = (code *****)0x0;
        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);
        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x3610);
        if (0 < (int)ppppppcVar5[6]) {
          iVar7 = *(int *)(pcVar42 + 0x53950);
          iVar6 = 0;
          do {
            iVar36 = iVar6 + 1;
            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x3608,iVar4 + 0x53f4,iVar6,
                       ppppppcVar5[7][iVar6]);
            iVar6 = iVar36;
          } while (iVar36 < (int)ppppppcVar5[6]);
        }
        if (ppppppcVar5[0xb] != (code *****)0x0) {
          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8,
                     *(int *)(pcVar42 + 0x53950) + -0x3594);
        }
        (**(code **)(pcVar42 + 0x53974))(0);
      }
      else {
        pcVar40 = (code *)(*(int *)(pcVar42 + 0x53a58) + -0x70d4);
        (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x7714);
        if (0 < (int)ppppppcVar5[6]) {
          iVar4 = *(int *)(pcVar42 + 0x53950);
          iVar6 = 0;
          do {
            pppppcVar25 = ppppppcVar5[7] + iVar6;
            iVar6 = iVar6 + 1;
            (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar4 + -0x35f0,*pppppcVar25);
          } while (iVar6 < (int)ppppppcVar5[6]);
        }
        if (ppppppcVar5[0xb] != (code *****)0x0) {
          (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35f8);
        }
      }
      in_stack_fffffd68 = ppppppcVar5[10];
      ppppppcVar35 = (code ******)ppppppcVar5[4];
      if (in_stack_fffffd68 == (code *****)0x0) {
        in_stack_fffffd68 = ppppppcVar5[5];
        in_stack_fffffd6c = *(int *)(pcVar42 + 0x53950) + -14000;
      }
      else {
        in_stack_fffffd6c = *(int *)(pcVar42 + 0x5393c) + 0x53f4;
      }
      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x35e4,ppppppcVar35,
                 in_stack_fffffd68,in_stack_fffffd6c);
      ppppppcVar5[0x37] = pppppcStack_210;
      iVar4 = *(int *)(pcVar42 + 0x5393c);
      pppppcStack_210 = (code *****)0x0;
      ppppppcVar21 = ppppppcVar31;
      (*pcVar40)(&pppppcStack_218,ppppppcVar31,*(int *)(pcVar42 + 0x53950) + -0x4774);
      if (0 < (int)ppppppcVar5[6]) {
        iVar7 = *(int *)(pcVar42 + 0x53950);
        iVar6 = 0;
        do {
          ppppppcVar21 = ppppppcVar31;
          ppppppcVar35 = (code ******)(iVar4 + 0x53f4);
          (*pcVar40)(&pppppcStack_218,ppppppcVar31,iVar7 + -0x35cc);
          iVar6 = iVar6 + 1;
        } while (iVar6 < (int)ppppppcVar5[6]);
      }
      ppppppcVar28 = *(code *******)(pcVar42 + 0x53950);
      if (ppppppcVar5[0xb] != (code *****)0x0) {
        ppppppcVar28 = ppppppcVar28 + -0xd71;
        ppppppcVar21 = ppppppcVar31;
        (*pcVar40)(&pppppcStack_218,ppppppcVar31,ppppppcVar28);
      }
      (**(code **)(pcVar42 + 0x53974))(0);
      ppppppcVar5[0x38] = pppppcStack_210;
      if ((code ******)pppppcStack_218 != (code ******)0x0) goto LAB_00107f4c;
      if ((code ******)pppppcStack_1a0 == (code ******)0x0) {
        if (cVar1 != '4') {
          *(code *)((int)ppppppcVar5 + 0xe9) = (code)0x2;
        }
      }
      else {
        pppppcStack_210 = (code *****)0x0;
        ppppppcVar17 = (code ******)ppppppcVar5[3];
        if (ppppppcVar5[10] == (code *****)0x0) {
          pppppcVar25 = ppppppcVar5[0xb];
          iVar4 = (**(code **)(pcVar42 + 0x5397c))(*(int *)(pcVar42 + 0x53950) + -0x35c0);
          if (iVar4 == 0) {
LAB_00109454:
            iVar4 = 0;
            pppppcStack_210 = (code *****)&DAT_00000007;
          }
          else {
            iVar6 = *(int *)(pcVar42 + 0x53950);
            if (0 < (int)ppppppcVar5[6]) {
              iVar7 = 0;
              do {
                iVar36 = iVar7 + 1;
                iVar4 = (**(code **)(pcVar42 + 0x5397c))
                                  (iVar6 + -0x35a4,iVar4,iVar7,ppppppcVar5[7][iVar7]);
                if (iVar4 == 0) goto LAB_00109454;
                iVar7 = iVar36;
              } while (iVar36 < (int)ppppppcVar5[6]);
            }
            if ((pppppcVar25 != (code *****)0x0) &&
               (iVar4 = (**(code **)(pcVar42 + 0x5397c))
                                  (*(int *)(pcVar42 + 0x53950) + -0x3598,iVar4,pppppcVar25),
               iVar4 == 0)) goto LAB_00109454;
          }
          in_stack_fffffd6c = iVar4;
          FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x358c,
                       ppppppcVar5[4],ppppppcVar5[5],iVar4);
          (**(code **)(pcVar42 + 0x53974))(iVar4);
        }
        FUN_00100978(ppppppcVar31,ppppppcVar17,*(int *)(pcVar42 + 0x53950) + -0x3568,ppppppcVar5[4],
                     ppppppcVar5[5]);
        in_stack_fffffd68 = ppppppcVar5[5];
        ppppppcVar35 = (code ******)ppppppcVar5[4];
        ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3520);
        ppppppcVar21 = ppppppcVar17;
        FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);
        if (*(code *)((int)ppppppcVar5 + 0xea) != (code)0x0) {
          in_stack_fffffd68 = ppppppcVar5[5];
          ppppppcVar35 = (code ******)ppppppcVar5[4];
          ppppppcVar28 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x3484);
          FUN_00100978(ppppppcVar31,ppppppcVar17,ppppppcVar28,ppppppcVar35,in_stack_fffffd68);
          ppppppcVar21 = ppppppcVar17;
        }
        if (*(code *)((int)ppppppcVar5 + 0xe9) != (code)0x0) {
          ppppppcVar21 = ppppppcVar5;
          FUN_00100a58(ppppppcVar31,ppppppcVar5);
        }
        pppppcStack_218 = pppppcStack_210;
        if ((code ******)pppppcStack_210 != (code ******)0x0) {
          ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);
          goto LAB_00107f4c;
        }
      }
      ppppppcVar21 = (code ******)ppppppcVar5[4];
      ppppppcVar17 = (code ******)
                     (**(code **)(pcVar42 + 0x5397c))
                               (*(int *)(pcVar42 + 0x53950) + -0x33d4,ppppppcVar21);
      if (ppppppcVar17 == (code ******)0x0) {
        (**(code **)(pcVar42 + 0x53974))(0);
        pppppcStack_218 = (code *****)&DAT_00000007;
        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);
        goto LAB_00107f4c;
      }
      ppppppcVar28 = (code ******)0xffffffff;
      in_stack_fffffd68 = (code *****)0x0;
      ppppppcVar21 = ppppppcVar17;
      ppppppcVar38 = (code ******)
                     sqlite3_prepare(ppppppcVar5[3],ppppppcVar17,0xffffffff,ppppppcVar31,0);
      if (ppppppcVar38 == (code ******)0x0) {
        (**(code **)(pcVar42 + 0x53984))(pppppcStack_210);
        ppppppcVar21 = (code ******)0x0;
        pppppcVar25 = (code *****)(**(code **)(pcVar42 + 0x53998))(pppppcStack_210,0);
        ppppppcVar5[0x3c] = pppppcVar25;
        ppppppcVar38 = (code ******)(**(code **)(pcVar42 + 0x53990))(pppppcStack_210);
        ppppppcVar35 = ppppppcVar31;
LAB_001089a8:
        (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);
        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);
        pppppcStack_218 = (code *****)ppppppcVar38;
        if (ppppppcVar38 != (code ******)0x0) goto LAB_00107f4c;
      }
      else {
        pcVar40 = *(code **)(pcVar42 + 0x53974);
        ppppppcVar35 = ppppppcVar31;
        if (ppppppcVar38 != (code ******)&DAT_00000017) goto LAB_001089a8;
        ppppppcVar5[0x3c] = (code *****)0x400;
        (*pcVar40)(ppppppcVar17);
        pppppcStack_218 = (code *****)0x0;
        ppppppcVar5[0x39] = (code *****)((int)ppppppcVar5[0x3c] - 0x23);
      }
      ppppppcVar35 = (code ******)ppppppcVar5[0xb];
      if (ppppppcVar35 == (code ******)0x0) {
        ppppppcVar35 = (code ******)(*(int *)(pcVar42 + 0x53950) + -0x36a4);
      }
      (**(code **)(pcVar42 + 0x53c10))(ppppppcVar5[3],1,1);
      ppppppcVar31 = (code ******)
                     (**(code **)(pcVar42 + 0x5397c))
                               (*(int *)(pcVar42 + 0x53950) + -0x3440,*ppppppcVar5[7]);
      if (ppppppcVar31 == (code ******)0x0) {
LAB_00108a70:
        ppppppcVar21 = (code ******)0x0;
        ppppppcVar28 = (code ******)ppppppcVar5[5];
        ppppppcVar31 = (code ******)0x0;
        ppppppcVar38 = (code ******)&DAT_00000007;
        ppppppcVar17 = (code ******)
                       (**(code **)(pcVar42 + 0x5397c))
                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,0,ppppppcVar28);
      }
      else {
        iVar4 = 1;
        if (1 < (int)ppppppcVar5[6]) {
          iVar6 = *(int *)(pcVar42 + 0x53950);
          do {
            pppppcVar25 = ppppppcVar5[7] + iVar4;
            iVar4 = iVar4 + 1;
            ppppppcVar31 = (code ******)
                           (**(code **)(pcVar42 + 0x5397c))
                                     (iVar6 + -0x3438,ppppppcVar31,*pppppcVar25);
            if (ppppppcVar31 == (code ******)0x0) goto LAB_00108a70;
          } while (iVar4 < (int)ppppppcVar5[6]);
        }
        ppppppcVar28 = (code ******)ppppppcVar5[5];
        ppppppcVar21 = ppppppcVar31;
        ppppppcVar17 = (code ******)
                       (**(code **)(pcVar42 + 0x5397c))
                                 (*(int *)(pcVar42 + 0x53950) + -0x3430,ppppppcVar31,ppppppcVar28);
        if (ppppppcVar17 == (code ******)0x0) {
          ppppppcVar38 = (code ******)&DAT_00000007;
        }
        else {
          ppppppcVar21 = ppppppcVar17;
          ppppppcVar38 = (code ******)sqlite3_declare_vtab(ppppppcVar5[3],ppppppcVar17);
        }
      }
      (**(code **)(pcVar42 + 0x53974))(ppppppcVar17);
      (**(code **)(pcVar42 + 0x53974))(ppppppcVar31);
      pppppcStack_218 = (code *****)ppppppcVar38;
      goto LAB_00107f4c;
    }
  }
  ppppppcVar28 = ppppppcVar26;
  iStack_284 = 0;
  iStack_278 = 0;
  ppppppcVar5 = (code ******)0x0;
  pppppcStack_218 = (code *****)&DAT_00000007;
LAB_00107f4c:
  (**(code **)(pcVar42 + 0x53974))(0);
  (**(code **)(pcVar42 + 0x53974))(iStack_278);
  (**(code **)(pcVar42 + 0x53974))(0);
  (**(code **)(pcVar42 + 0x53974))(0);
  (**(code **)(pcVar42 + 0x53974))(0);
  (**(code **)(pcVar42 + 0x53974))(0);
  (**(code **)(pcVar42 + 0x53974))(piVar27);
  (**(code **)(pcVar42 + 0x53974))(iStack_284);
  if ((code ******)pppppcStack_218 == (code ******)0x0) {
    *puStack_18c = ppppppcVar5;
  }
  else if (ppppppcVar5 == (code ******)0x0) {
    if ((code *****)ppppcStack_214 != (code *****)0x0) {
      (*(code *)(*ppppcStack_214)[2])();
    }
  }
  else {
    (*(code *)(*(int *)(pcVar42 + 0x53a4c) + 0x585c))(ppppppcVar5);
  }
  if (iStack_1cc == *piVar18) {
    return (code ******)pppppcStack_218;
  }
  iVar4 = iStack_1cc;
  (**(code **)(pcVar42 + 0x53d64))();
  ppppppcVar21 = (code ******)
                 FUN_00107cac(0,iVar4,ppppppcVar21,ppppppcVar28,ppppppcVar35,in_stack_fffffd68,
                              in_stack_fffffd6c);
  return ppppppcVar21;
}

